Refactor conversion of "-" to "-stdin-"

This commit is contained in:
Dianne Skoll
2025-05-24 22:55:02 -04:00
parent 8d88192483
commit f852f7e7e5
3 changed files with 81 additions and 88 deletions

View File

@@ -162,7 +162,11 @@ void SetCurrentFilename(char const *fname)
char const *GetCurrentFilename(void)
{
if (FileName) {
return FileName;
if (!strcmp(FileName, "-")) {
return "-stdin-";
} else {
return FileName;
}
} else {
return "";
}

View File

@@ -909,18 +909,10 @@ void Wprint(char const *fmt, ...)
/* We can't use line_range because caller might have used it */
if (fname) {
if (strcmp(fname, "-")) {
if (LineNoStart == LineNo) {
(void) fprintf(ErrFp, "%s(%d): ", fname, LineNo);
} else {
(void) fprintf(ErrFp, "%s(%d:%d): ", fname, LineNoStart, LineNo);
}
if (LineNoStart == LineNo) {
(void) fprintf(ErrFp, "%s(%d): ", fname, LineNo);
} else {
if (LineNoStart == LineNo) {
(void) fprintf(ErrFp, "-stdin-(%d): ", LineNo);
} else {
(void) fprintf(ErrFp, "-stdin-(%d:%d): ", LineNoStart, LineNo);
}
(void) fprintf(ErrFp, "%s(%d:%d): ", fname, LineNoStart, LineNo);
}
}
@@ -955,9 +947,6 @@ void Eprint(char const *fmt, ...)
/* Check if more than one error msg. from this line */
if (!FreshLine && !ShowAllErrors) return;
if (!strcmp(fname, "-")) {
fname = "-stdin-";
}
if (FreshLine) {
/* We can't use line_range because caller might have used it */
if (LineNo == LineNoStart) {

View File

@@ -18962,10 +18962,10 @@ September 30
2007/08/16 * * * * Should be included by 02.rem
# rem2ps end
Feb 29 Bug Test
-(1): Trig = Sunday, 3 March, 2024
-stdin-(1): Trig = Sunday, 3 March, 2024
No reminders.
Mon 31 Dec Bug Test
-(1): Expired
-stdin-(1): Expired
No reminders.
Color Test
(0lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B
@@ -20277,7 +20277,7 @@ Hi
How are you?
OK
MON WKDAY DAY across year test
-(1): Trig = Monday, 3 January, 2000
-stdin-(1): Trig = Monday, 3 January, 2000
No reminders.
Sort Test
Reminders for Saturday, 1st January, 2000:
@@ -22804,11 +22804,11 @@ January 2012 31 0 0
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
December 31
February 29
{"date":"2012-01-02","filename":"-","lineno":1,"wd":["Monday"],"priority":5000,"omitfunc":"foo","nonconst_expr":1,"body":"bar"}
{"date":"2012-01-09","filename":"-","lineno":1,"wd":["Monday"],"priority":5000,"omitfunc":"foo","nonconst_expr":1,"body":"bar"}
{"date":"2012-01-16","filename":"-","lineno":1,"wd":["Monday"],"priority":5000,"omitfunc":"foo","nonconst_expr":1,"body":"bar"}
{"date":"2012-01-23","filename":"-","lineno":1,"wd":["Monday"],"priority":5000,"omitfunc":"foo","nonconst_expr":1,"body":"bar"}
{"date":"2012-01-30","filename":"-","lineno":1,"wd":["Monday"],"priority":5000,"omitfunc":"foo","nonconst_expr":1,"body":"bar"}
{"date":"2012-01-02","filename":"-stdin-","lineno":1,"wd":["Monday"],"priority":5000,"omitfunc":"foo","nonconst_expr":1,"body":"bar"}
{"date":"2012-01-09","filename":"-stdin-","lineno":1,"wd":["Monday"],"priority":5000,"omitfunc":"foo","nonconst_expr":1,"body":"bar"}
{"date":"2012-01-16","filename":"-stdin-","lineno":1,"wd":["Monday"],"priority":5000,"omitfunc":"foo","nonconst_expr":1,"body":"bar"}
{"date":"2012-01-23","filename":"-stdin-","lineno":1,"wd":["Monday"],"priority":5000,"omitfunc":"foo","nonconst_expr":1,"body":"bar"}
{"date":"2012-01-30","filename":"-stdin-","lineno":1,"wd":["Monday"],"priority":5000,"omitfunc":"foo","nonconst_expr":1,"body":"bar"}
# rem2ps2 end
-stdin-(8:9): Number too high
-stdin-(8:9): Number too high
@@ -22845,9 +22845,9 @@ February 29
[
{
"translations":{"LANGID":"en"},"caltype":"monthly","monthname":"January","year":2012,"daysinmonth":31,"firstwkday":0,"mondayfirst":0,"daynames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"prevmonthname":"December","daysinprevmonth":31,"prevmonthyear":2011,"nextmonthname":"February","daysinnextmonth":29,"nextmonthyear":2012,"entries":[
{"date":"2012-01-02","filename":"-","lineno":1,"d":2,"priority":5000,"body":"Normal"},
{"date":"2012-01-03","filename":"-","lineno":4,"lineno_start":3,"passthru":"COLOR","d":3,"priority":5000,"r":255,"g":0,"b":0,"rawbody":"%\"Red%\" on the calendar!","calendar_body":"Red","plain_body":"Red on the calendar!","body":"255 0 0 %\"Red%\" on the calendar!"},
{"date":"2012-01-04","filename":"-","lineno":6,"d":4,"priority":5000,"body":"Normal"}
{"date":"2012-01-02","filename":"-stdin-","lineno":1,"d":2,"priority":5000,"body":"Normal"},
{"date":"2012-01-03","filename":"-stdin-","lineno":4,"lineno_start":3,"passthru":"COLOR","d":3,"priority":5000,"r":255,"g":0,"b":0,"rawbody":"%\"Red%\" on the calendar!","calendar_body":"Red","plain_body":"Red on the calendar!","body":"255 0 0 %\"Red%\" on the calendar!"},
{"date":"2012-01-04","filename":"-stdin-","lineno":6,"d":4,"priority":5000,"body":"Normal"}
]
}
]
@@ -23634,72 +23634,72 @@ In test mode, the system time is fixed at 2025-01-06@19:00
{"response":"queue","queue":[{"priority":2,"eventstart":"2025-01-06T23:59","time":"23:59","nexttime":"23:59","tdelta":0,"trep":0,"qid":"42424242","rundisabled":0,"ntrig":1,"filename":"../tests/queue2.rem","lineno":1,"type":"MSG_TYPE","body":"XXXX"},{"priority":999,"eventstart":"2025-01-06T23:58","info":{"info2":"Nope","info3":"heh"},"time":"23:58","nexttime":"23:58","tdelta":0,"trep":0,"qid":"42424242","rundisabled":0,"ntrig":1,"filename":"../tests/queue1.rem","lineno":5,"type":"MSG_TYPE","body":"quux"},{"priority":42,"eventstart":"2025-01-06T23:57","info":{"info":"yuppers"},"time":"23:57","nexttime":"23:57","tdelta":0,"trep":0,"qid":"42424242","rundisabled":0,"ntrig":1,"filename":"../tests/queue1.rem","lineno":4,"type":"MSG_TYPE","body":"bar"},{"priority":5000,"eventstart":"2025-01-06T23:56","time":"23:56","nexttime":"23:56","tdelta":0,"trep":0,"qid":"42424242","rundisabled":0,"ntrig":1,"filename":"../tests/queue1.rem","lineno":3,"type":"MSG_TYPE","body":"foo"}],"command":"QUEUE"}
BANNER %
REM 29 MSG One
-(2): Trig = Thursday, 29 February, 2024
-stdin-(2): Trig = Thursday, 29 February, 2024
REM 29 Feb MSG two
-(3): Trig = Thursday, 29 February, 2024
-stdin-(3): Trig = Thursday, 29 February, 2024
REM 29 2024 MSG three
-(4): Trig = Thursday, 29 February, 2024
-stdin-(4): Trig = Thursday, 29 February, 2024
REM 29 Feb 2024 MSG four
-(5): Trig = Thursday, 29 February, 2024
-stdin-(5): Trig = Thursday, 29 February, 2024
REM Thursday 29 MSG One
-(6): Trig = Thursday, 29 February, 2024
-stdin-(6): Trig = Thursday, 29 February, 2024
REM Thursday 29 Feb MSG two
-(7): Trig = Thursday, 29 February, 2024
-stdin-(7): Trig = Thursday, 29 February, 2024
REM Thursday 29 2024 MSG three
-(8): Trig = Thursday, 29 February, 2024
-stdin-(8): Trig = Thursday, 29 February, 2024
REM Thursday 29 Feb 2024 MSG four
-(9): Trig = Thursday, 29 February, 2024
-stdin-(9): Trig = Thursday, 29 February, 2024
REM Wednesday 29 MSG One
-(10): Trig = Wednesday, 6 March, 2024
-stdin-(10): Trig = Wednesday, 6 March, 2024
REM Wednesday 29 Feb MSG two
-(11): Trig = Wednesday, 6 March, 2024
-stdin-(11): Trig = Wednesday, 6 March, 2024
REM Wednesday 29 2024 MSG three
-(12): Trig = Wednesday, 6 March, 2024
-stdin-(12): Trig = Wednesday, 6 March, 2024
REM Wednesday 29 Feb 2024 MSG four
-(13): Trig = Wednesday, 6 March, 2024
-stdin-(13): Trig = Wednesday, 6 March, 2024
REM Friday 29 MSG One
-(14): Trig = Friday, 1 March, 2024
-stdin-(14): Trig = Friday, 1 March, 2024
REM Friday 29 Feb MSG two
-(15): Trig = Friday, 1 March, 2024
-stdin-(15): Trig = Friday, 1 March, 2024
REM Friday 29 2024 MSG three
-(16): Trig = Friday, 1 March, 2024
-stdin-(16): Trig = Friday, 1 March, 2024
REM Friday 29 Feb 2024 MSG four
-(17): Trig = Friday, 1 March, 2024
-stdin-(17): Trig = Friday, 1 March, 2024
No reminders.
BANNER %
REM 29 MSG One
-(2): Trig = Friday, 29 March, 2024
-stdin-(2): Trig = Friday, 29 March, 2024
REM 29 Feb MSG two
-(3): Trig = Tuesday, 29 February, 2028
-stdin-(3): Trig = Tuesday, 29 February, 2028
REM 29 2024 MSG three
-(4): Trig = Friday, 29 March, 2024
-stdin-(4): Trig = Friday, 29 March, 2024
REM 29 Feb 2024 MSG four
-(5): Expired
-stdin-(5): Expired
REM Thursday 29 MSG One
-(6): Trig = Thursday, 4 April, 2024
-stdin-(6): Trig = Thursday, 4 April, 2024
REM Thursday 29 Feb MSG two
-(7): Trig = Thursday, 2 March, 2028
-stdin-(7): Trig = Thursday, 2 March, 2028
REM Thursday 29 2024 MSG three
-(8): Trig = Thursday, 4 April, 2024
-stdin-(8): Trig = Thursday, 4 April, 2024
REM Thursday 29 Feb 2024 MSG four
-(9): Expired
-stdin-(9): Expired
REM Wednesday 29 MSG One
-(10): Trig = Wednesday, 6 March, 2024
-stdin-(10): Trig = Wednesday, 6 March, 2024
REM Wednesday 29 Feb MSG two
-(11): Trig = Wednesday, 6 March, 2024
-stdin-(11): Trig = Wednesday, 6 March, 2024
REM Wednesday 29 2024 MSG three
-(12): Trig = Wednesday, 6 March, 2024
-stdin-(12): Trig = Wednesday, 6 March, 2024
REM Wednesday 29 Feb 2024 MSG four
-(13): Trig = Wednesday, 6 March, 2024
-stdin-(13): Trig = Wednesday, 6 March, 2024
REM Friday 29 MSG One
-(14): Trig = Friday, 1 March, 2024
-stdin-(14): Trig = Friday, 1 March, 2024
REM Friday 29 Feb MSG two
-(15): Trig = Friday, 1 March, 2024
-stdin-(15): Trig = Friday, 1 March, 2024
REM Friday 29 2024 MSG three
-(16): Trig = Friday, 1 March, 2024
-stdin-(16): Trig = Friday, 1 March, 2024
REM Friday 29 Feb 2024 MSG four
-(17): Trig = Friday, 1 March, 2024
-stdin-(17): Trig = Friday, 1 March, 2024
One
@@ -23711,75 +23711,75 @@ four
BANNER %
REM 29 MSG One
-(2): Trig = Saturday, 29 March, 2025
-stdin-(2): Trig = Saturday, 29 March, 2025
REM 29 Feb MSG two
-(3): Trig = Tuesday, 29 February, 2028
-stdin-(3): Trig = Tuesday, 29 February, 2028
REM 29 2025 MSG three
-(4): Trig = Saturday, 29 March, 2025
-stdin-(4): Trig = Saturday, 29 March, 2025
REM 29 Feb 2025 MSG four
-stdin-(5): Bad date specification
REM Thursday 29 MSG One
-(6): Trig = Thursday, 3 April, 2025
-stdin-(6): Trig = Thursday, 3 April, 2025
REM Thursday 29 Feb MSG two
-(7): Trig = Thursday, 2 March, 2028
-stdin-(7): Trig = Thursday, 2 March, 2028
REM Thursday 29 2025 MSG three
-(8): Trig = Thursday, 3 April, 2025
-stdin-(8): Trig = Thursday, 3 April, 2025
REM Thursday 29 Feb 2025 MSG four
-stdin-(9): Bad date specification
REM Wednesday 29 MSG One
-(10): Trig = Wednesday, 2 April, 2025
-stdin-(10): Trig = Wednesday, 2 April, 2025
REM Wednesday 29 Feb MSG two
-(11): Trig = Wednesday, 1 March, 2028
-stdin-(11): Trig = Wednesday, 1 March, 2028
REM Wednesday 29 2025 MSG three
-(12): Trig = Wednesday, 2 April, 2025
-stdin-(12): Trig = Wednesday, 2 April, 2025
REM Wednesday 29 Feb 2025 MSG four
-stdin-(13): Bad date specification
REM Friday 29 MSG One
-(14): Trig = Friday, 4 April, 2025
-stdin-(14): Trig = Friday, 4 April, 2025
REM Friday 29 Feb MSG two
-(15): Trig = Friday, 3 March, 2028
-stdin-(15): Trig = Friday, 3 March, 2028
REM Friday 29 2025 MSG three
-(16): Trig = Friday, 4 April, 2025
-stdin-(16): Trig = Friday, 4 April, 2025
REM Friday 29 Feb 2025 MSG four
-stdin-(17): Bad date specification
No reminders.
BANNER %
REM 29 MSG One
-(2): Trig = Saturday, 29 March, 2025
-stdin-(2): Trig = Saturday, 29 March, 2025
REM 29 Feb MSG two
-(3): Trig = Tuesday, 29 February, 2028
-stdin-(3): Trig = Tuesday, 29 February, 2028
REM 29 2025 MSG three
-(4): Trig = Saturday, 29 March, 2025
-stdin-(4): Trig = Saturday, 29 March, 2025
REM 29 Feb 2025 MSG four
-stdin-(5): Bad date specification
REM Thursday 29 MSG One
-(6): Trig = Thursday, 3 April, 2025
-stdin-(6): Trig = Thursday, 3 April, 2025
REM Thursday 29 Feb MSG two
-(7): Trig = Thursday, 2 March, 2028
-stdin-(7): Trig = Thursday, 2 March, 2028
REM Thursday 29 2025 MSG three
-(8): Trig = Thursday, 3 April, 2025
-stdin-(8): Trig = Thursday, 3 April, 2025
REM Thursday 29 Feb 2025 MSG four
-stdin-(9): Bad date specification
REM Wednesday 29 MSG One
-(10): Trig = Wednesday, 2 April, 2025
-stdin-(10): Trig = Wednesday, 2 April, 2025
REM Wednesday 29 Feb MSG two
-(11): Trig = Wednesday, 1 March, 2028
-stdin-(11): Trig = Wednesday, 1 March, 2028
REM Wednesday 29 2025 MSG three
-(12): Trig = Wednesday, 2 April, 2025
-stdin-(12): Trig = Wednesday, 2 April, 2025
REM Wednesday 29 Feb 2025 MSG four
-stdin-(13): Bad date specification
REM Friday 29 MSG One
-(14): Trig = Friday, 4 April, 2025
-stdin-(14): Trig = Friday, 4 April, 2025
REM Friday 29 Feb MSG two
-(15): Trig = Friday, 3 March, 2028
-stdin-(15): Trig = Friday, 3 March, 2028
REM Friday 29 2025 MSG three
-(16): Trig = Friday, 4 April, 2025
-stdin-(16): Trig = Friday, 4 April, 2025
REM Friday 29 Feb 2025 MSG four
-stdin-(17): Bad date specification
No reminders.
-(2): Trig = Thursday, 29 February, 2024
-stdin-(2): Trig = Thursday, 29 February, 2024
No bug
Variable Value
@@ -24197,7 +24197,7 @@ Translation hash table statistics:
Expression nodes high-water: 499
Expression nodes leaked: 0
Parse level high-water: 2001
-stdin-(14): Unmatched PUSH-OMIT-CONTEXT at -(7)
-stdin-(14): Unmatched PUSH-OMIT-CONTEXT at -stdin-(7)
-stdin-(14): Warning: PUSH-OMIT-CONTEXT without matching POP-OMIT-CONTEXT
No reminders.
../tests/if2.rem(6): Warning: Missing ENDIF
@@ -25107,10 +25107,10 @@ February 2024 29 4 0
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
January 31
March 31
{"date":"2024-02-07","filename":"-","lineno":1,"info":{"location":"here","summary":"Nope"},"wd":["Wednesday"],"priority":5000,"rawbody":"Meeting [triginfo(\"location\")] %<summary> %<nonexist> [triginfo(\"cabbage\")]","body":"Meeting here Nope "}
{"date":"2024-02-14","filename":"-","lineno":1,"info":{"location":"here","summary":"Nope"},"wd":["Wednesday"],"priority":5000,"rawbody":"Meeting [triginfo(\"location\")] %<summary> %<nonexist> [triginfo(\"cabbage\")]","body":"Meeting here Nope "}
{"date":"2024-02-21","filename":"-","lineno":1,"info":{"location":"here","summary":"Nope"},"wd":["Wednesday"],"priority":5000,"rawbody":"Meeting [triginfo(\"location\")] %<summary> %<nonexist> [triginfo(\"cabbage\")]","body":"Meeting here Nope "}
{"date":"2024-02-28","filename":"-","lineno":1,"info":{"location":"here","summary":"Nope"},"wd":["Wednesday"],"priority":5000,"rawbody":"Meeting [triginfo(\"location\")] %<summary> %<nonexist> [triginfo(\"cabbage\")]","body":"Meeting here Nope "}
{"date":"2024-02-07","filename":"-stdin-","lineno":1,"info":{"location":"here","summary":"Nope"},"wd":["Wednesday"],"priority":5000,"rawbody":"Meeting [triginfo(\"location\")] %<summary> %<nonexist> [triginfo(\"cabbage\")]","body":"Meeting here Nope "}
{"date":"2024-02-14","filename":"-stdin-","lineno":1,"info":{"location":"here","summary":"Nope"},"wd":["Wednesday"],"priority":5000,"rawbody":"Meeting [triginfo(\"location\")] %<summary> %<nonexist> [triginfo(\"cabbage\")]","body":"Meeting here Nope "}
{"date":"2024-02-21","filename":"-stdin-","lineno":1,"info":{"location":"here","summary":"Nope"},"wd":["Wednesday"],"priority":5000,"rawbody":"Meeting [triginfo(\"location\")] %<summary> %<nonexist> [triginfo(\"cabbage\")]","body":"Meeting here Nope "}
{"date":"2024-02-28","filename":"-stdin-","lineno":1,"info":{"location":"here","summary":"Nope"},"wd":["Wednesday"],"priority":5000,"rawbody":"Meeting [triginfo(\"location\")] %<summary> %<nonexist> [triginfo(\"cabbage\")]","body":"Meeting here Nope "}
# rem2ps2 end
-stdin-(1): Invalid INFO string: Must be of the form "Header: Value"
-stdin-(2): Invalid INFO string: Must be of the form "Header: Value"