diff --git a/src/files.c b/src/files.c index 161a650e..8cba8182 100644 --- a/src/files.c +++ b/src/files.c @@ -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 ""; } diff --git a/src/main.c b/src/main.c index 1df75dbe..2ddf9258 100644 --- a/src/main.c +++ b/src/main.c @@ -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) { diff --git a/tests/test.cmp b/tests/test.cmp index 12029ef8..4495e541 100644 --- a/tests/test.cmp +++ b/tests/test.cmp @@ -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\")] % % [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\")] % % [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\")] % % [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\")] % % [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\")] % % [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\")] % % [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\")] % % [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\")] % % [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"