mirror of
https://salsa.debian.org/dskoll/remind.git
synced 2026-04-16 06:18:47 +02:00
Reverse oreder of soleq args.
This commit is contained in:
54
src/funcs.c
54
src/funcs.c
@@ -300,7 +300,7 @@ BuiltinFunc Func[] = {
|
||||
{ "shell", 1, 2, 0, FShell },
|
||||
{ "shellescape", 1, 1, 1, FShellescape },
|
||||
{ "slide", 2, NO_MAX, 0, FSlide },
|
||||
{ "soleq", 2, 2, 1, FSoleq },
|
||||
{ "soleq", 1, 2, 1, FSoleq },
|
||||
{ "stdout", 0, 0, 1, FStdout },
|
||||
{ "strlen", 1, 1, 1, FStrlen },
|
||||
{ "substr", 2, 3, 1, FSubstr },
|
||||
@@ -3606,35 +3606,45 @@ solstice_equinox_for_year(int y, int which)
|
||||
static int
|
||||
FSoleq(func_info *info)
|
||||
{
|
||||
int y, m, d, dse;
|
||||
int y, dse, which, ret;
|
||||
|
||||
RetVal.type = ERR_TYPE;
|
||||
|
||||
if (ARG(0).type == INT_TYPE) {
|
||||
y = ARGV(0);
|
||||
if (y < BASE) {
|
||||
return E_2LOW;
|
||||
} else if (y > BASE+YR_RANGE) {
|
||||
return E_2HIGH;
|
||||
}
|
||||
} else if (HASDATE(ARG(0))) {
|
||||
FromDSE(DATEPART(ARG(0)), &y, &m, &d); /* We just want the year */
|
||||
} else {
|
||||
return E_BAD_TYPE;
|
||||
}
|
||||
|
||||
ASSERT_TYPE(1, INT_TYPE);
|
||||
if (ARGV(1) < 0) {
|
||||
dse = NO_DATE;
|
||||
ASSERT_TYPE(0, INT_TYPE);
|
||||
which = ARGV(0);
|
||||
if (which < 0) {
|
||||
return E_2LOW;
|
||||
} else if (ARGV(1) > 3) {
|
||||
} else if (which > 3) {
|
||||
return E_2HIGH;
|
||||
}
|
||||
|
||||
dse = solstice_equinox_for_year(y, ARGV(1));
|
||||
if (HASDATE(ARG(0)) && (dse / MINUTES_PER_DAY) < DATEPART(ARG(0))) {
|
||||
dse = solstice_equinox_for_year(y+1, ARGV(1));
|
||||
if (Nargs > 1) {
|
||||
if (ARG(1).type == INT_TYPE) {
|
||||
y = ARGV(1);
|
||||
if (y < BASE) {
|
||||
return E_2LOW;
|
||||
} else if (y > BASE+YR_RANGE) {
|
||||
return E_2HIGH;
|
||||
}
|
||||
} else if (HASDATE(ARG(1))) {
|
||||
dse = DATEPART(ARG(1));
|
||||
FromDSE(dse, &y, NULL, NULL); /* We just want the year */
|
||||
} else {
|
||||
return E_BAD_TYPE;
|
||||
}
|
||||
} else {
|
||||
/* If no second argument, default to today */
|
||||
dse = DSEToday;
|
||||
FromDSE(dse, &y, NULL, NULL); /* We just want the year */
|
||||
}
|
||||
ASSERT_TYPE(1, INT_TYPE);
|
||||
|
||||
ret = solstice_equinox_for_year(y, which);
|
||||
if (dse != NO_DATE && (ret / MINUTES_PER_DAY) < dse) {
|
||||
ret = solstice_equinox_for_year(y+1, which);
|
||||
}
|
||||
RetVal.type = DATETIME_TYPE;
|
||||
RETVAL = dse;
|
||||
RETVAL = ret;
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -2,37 +2,37 @@ BANNER Solstice/Equinox Tests
|
||||
SET $AddBlankLines 0
|
||||
|
||||
# Test solstice and equinox functions
|
||||
MSG March Solstice 2022 is [localtoutc(soleq(2022,0))] UTC
|
||||
MSG June Equinox 2022 is [localtoutc(soleq(2022,1))] UTC
|
||||
MSG September Solstice 2022 is [localtoutc(soleq(2022,2))] UTC
|
||||
MSG December Equinox 2022 is [localtoutc(soleq(2022,3))] UTC
|
||||
MSG March Solstice 2022 is [localtoutc(soleq(0,2022))] UTC
|
||||
MSG June Equinox 2022 is [localtoutc(soleq(1,2022))] UTC
|
||||
MSG September Solstice 2022 is [localtoutc(soleq(2,2022))] UTC
|
||||
MSG December Equinox 2022 is [localtoutc(soleq(3,2022))] UTC
|
||||
|
||||
MSG March Solstice 2023 is [localtoutc(soleq(2023,0))] UTC
|
||||
MSG June Equinox 2023 is [localtoutc(soleq(2023,1))] UTC
|
||||
MSG September Solstice 2023 is [localtoutc(soleq(2023,2))] UTC
|
||||
MSG December Equinox 2023 is [localtoutc(soleq(2023,3))] UTC
|
||||
MSG March Solstice 2023 is [localtoutc(soleq(0,2023))] UTC
|
||||
MSG June Equinox 2023 is [localtoutc(soleq(1,2023))] UTC
|
||||
MSG September Solstice 2023 is [localtoutc(soleq(2,2023))] UTC
|
||||
MSG December Equinox 2023 is [localtoutc(soleq(3,2023))] UTC
|
||||
|
||||
MSG March Solstice 2024 is [localtoutc(soleq(2024,0))] UTC
|
||||
MSG June Equinox 2024 is [localtoutc(soleq(2024,1))] UTC
|
||||
MSG September Solstice 2024 is [localtoutc(soleq(2024,2))] UTC
|
||||
MSG December Equinox 2024 is [localtoutc(soleq(2024,3))] UTC
|
||||
MSG March Solstice 2024 is [localtoutc(soleq(0,2024))] UTC
|
||||
MSG June Equinox 2024 is [localtoutc(soleq(1,2024))] UTC
|
||||
MSG September Solstice 2024 is [localtoutc(soleq(2,2024))] UTC
|
||||
MSG December Equinox 2024 is [localtoutc(soleq(3,2024))] UTC
|
||||
|
||||
MSG March Solstice 2025 is [localtoutc(soleq(2025,0))] UTC
|
||||
MSG June Equinox 2025 is [localtoutc(soleq(2025,1))] UTC
|
||||
MSG September Solstice 2025 is [localtoutc(soleq(2025,2))] UTC
|
||||
MSG December Equinox 2025 is [localtoutc(soleq(2025,3))] UTC
|
||||
MSG March Solstice 2025 is [localtoutc(soleq(0,2025))] UTC
|
||||
MSG June Equinox 2025 is [localtoutc(soleq(1,2025))] UTC
|
||||
MSG September Solstice 2025 is [localtoutc(soleq(2,2025))] UTC
|
||||
MSG December Equinox 2025 is [localtoutc(soleq(3,2025))] UTC
|
||||
|
||||
MSG March Solstice 2026 is [localtoutc(soleq(2026,0))] UTC
|
||||
MSG June Equinox 2026 is [localtoutc(soleq(2026,1))] UTC
|
||||
MSG September Solstice 2026 is [localtoutc(soleq(2026,2))] UTC
|
||||
MSG December Equinox 2026 is [localtoutc(soleq(2026,3))] UTC
|
||||
MSG March Solstice 2026 is [localtoutc(soleq(0,2026))] UTC
|
||||
MSG June Equinox 2026 is [localtoutc(soleq(1,2026))] UTC
|
||||
MSG September Solstice 2026 is [localtoutc(soleq(2,2026))] UTC
|
||||
MSG December Equinox 2026 is [localtoutc(soleq(3,2026))] UTC
|
||||
|
||||
MSG March Solstice 2030 is [localtoutc(soleq(2030,0))] UTC
|
||||
MSG June Equinox 2030 is [localtoutc(soleq(2030,1))] UTC
|
||||
MSG September Solstice 2030 is [localtoutc(soleq(2030,2))] UTC
|
||||
MSG December Equinox 2030 is [localtoutc(soleq(2030,3))] UTC
|
||||
MSG March Solstice 2030 is [localtoutc(soleq(0,2030))] UTC
|
||||
MSG June Equinox 2030 is [localtoutc(soleq(1,2030))] UTC
|
||||
MSG September Solstice 2030 is [localtoutc(soleq(2,2030))] UTC
|
||||
MSG December Equinox 2030 is [localtoutc(soleq(3,2030))] UTC
|
||||
|
||||
MSG March Solstice 2050 is [localtoutc(soleq(2050,0))] UTC
|
||||
MSG June Equinox 2050 is [localtoutc(soleq(2050,1))] UTC
|
||||
MSG September Solstice 2050 is [localtoutc(soleq(2050,2))] UTC
|
||||
MSG December Equinox 2050 is [localtoutc(soleq(2050,3))] UTC
|
||||
MSG March Solstice 2050 is [localtoutc(soleq(0,2050))] UTC
|
||||
MSG June Equinox 2050 is [localtoutc(soleq(1,2050))] UTC
|
||||
MSG September Solstice 2050 is [localtoutc(soleq(2,2050))] UTC
|
||||
MSG December Equinox 2050 is [localtoutc(soleq(3,2050))] UTC
|
||||
|
||||
Reference in New Issue
Block a user