Dianne Skoll
267e8533cf
Fix stupid bug.
2024-02-29 11:14:05 -05:00
Dianne Skoll
5a31bc7058
Integrate inotify support directly into Remind for server mode.
2024-02-29 11:03:28 -05:00
Dianne Skoll
746bde71bd
Check for inotify_init1
2024-02-29 10:41:49 -05:00
Dianne Skoll
b274ac635c
Clarify comment.
2024-02-29 09:46:56 -05:00
Dianne Skoll
9e0a74e583
Don't spit anything out to client for RUN-type reminders in server mode.
2024-02-29 09:31:37 -05:00
Dianne Skoll
0f782f7697
Set CLOEXEC flag on files we open.
...
When running programs in server mode, connect stdin and stdout to /dev/null
2024-02-29 09:22:15 -05:00
Dianne Skoll
34dab68805
Finish implementing "-zj" mode - Daemon mode with JSON responses.
2024-02-27 10:18:18 -05:00
Dianne Skoll
216dd03922
Start adding support for JSON-formatted daemon responses.
2024-02-27 09:54:35 -05:00
Dianne Skoll
6b798d5f7c
Allow arg to easterdate() and orthodoxeaster() to be omitted, defaulting it to today().
2024-02-26 17:19:22 -05:00
Dianne Skoll
22ccce0934
Lay groundwork for having TriggerReminder put the results in a DynamicBuffer rather than sending to stdout
...
Eventually should allow us to make a JSON-based daemon mode.
2024-02-25 09:17:54 -05:00
Dianne Skoll
8e99ed27e7
Take is_queued into account when deciding to issue banner.
2024-02-24 09:33:59 -05:00
Dianne Skoll
616966f5df
Fix spelling in comment
2024-02-04 13:01:45 -05:00
Dianne Skoll
25b7a40f2b
Try hard to avoid integer overflow.
2024-02-03 16:30:39 -05:00
Dianne Skoll
2beaab1a2f
More checks on INT * STRING plus a man page note.
2024-02-03 16:29:05 -05:00
Dianne Skoll
60793d53c6
Don't use O(N^2) algorithm for STR * INT
2024-02-03 16:12:54 -05:00
Dianne Skoll
b2bd6109dc
Allow STRING * INT or INT * STRING, which repeats STRING that many times.
2024-02-03 16:00:23 -05:00
Dianne Skoll
9455ec48d7
Include lineno element in JSONQUEUE
2024-02-03 11:06:33 -05:00
Dianne Skoll
994edbebbe
Proper keys for tdelta, etc.
2024-02-03 11:00:27 -05:00
Dianne Skoll
2e56edd557
SystemTime can be int... no need for it to be long.
2024-02-03 09:26:30 -05:00
Dianne Skoll
167631451d
Don't alloc/free FileName unnecessarily.
2024-02-02 18:45:31 -05:00
Dianne Skoll
fa5180b94d
Refactor JSON output routines.
2024-02-02 16:08:17 -05:00
Dianne Skoll
a043dfe8b9
Optimize the search for a queued filename by assuming we're still in the same file as before.
...
This is very likely to be true and should avoid traversing the list of
filenames in most cases.
2024-02-02 14:25:34 -05:00
Dianne Skoll
7cfb75e3b3
Save filename when queueing reminders. Also, use original trigger structure when triggering.
...
Before, we'd lose the priority and msgprefix() would mess up.
2024-02-02 14:18:55 -05:00
Dianne Skoll
45ebd05cb6
Minor tweaks.
2024-01-09 21:16:32 -05:00
Dianne Skoll
72d10178bf
Mass-update copyright year to 2024.
2023-12-31 12:05:03 -05:00
Dianne Skoll
96f4e26d53
Add "constval" alias for "min" structure field.
2023-12-30 11:33:01 -05:00
Dianne Skoll
b45428df05
Add system variables: $NumFullOmits, $MaxFullOmits, $NumPartialOmits, $MaxPartialOmits
2023-12-28 19:22:48 -05:00
Dianne Skoll
e4e2157622
Include limits in "too many XXX" error messages.
2023-12-28 19:08:15 -05:00
Dianne Skoll
04b349c6c7
Check write() call for failures.
2023-12-28 18:23:13 -05:00
Dianne Skoll
7fe3eb7391
Avoid warning about ignoring return value. *SIGH*
2023-12-28 18:20:59 -05:00
Dianne Skoll
c1992b577a
Check of (very unlikely and probably harmless) integer underflow.
2023-12-27 20:28:46 -05:00
Dianne Skoll
632283d47f
Issue a warning if someone OMITs every possible date.
2023-12-27 20:27:26 -05:00
Dianne Skoll
1d9e46997c
Don't attempt to obtain terminal background color at startup. Instead, only obtain it if and when it is needed.
2023-12-26 10:08:00 -05:00
Dianne Skoll
861ce34022
Clarify logic.
2023-12-25 10:16:59 -05:00
Dianne Skoll
32e8db322d
Stricter parsing of SET command expressions.
2023-12-22 14:22:54 -05:00
Dianne Skoll
3df2b72175
Simplify logic for updating of number of queued reminders.
2023-12-18 14:48:49 -05:00
Dianne Skoll
e7ac4f95be
Issue a spontaneous NOTE queued response only if we actually de-queue a reminder.
2023-12-18 14:44:41 -05:00
Dianne Skoll
bb516946be
If we de-queue a reminder without issuing it, send a NOTE queued %d message in server mode.
2023-12-15 14:16:26 -05:00
Dianne Skoll
2551e98d11
Use "now = time(NULL)" rather than (void) time(&now)"
2023-12-11 15:56:42 -05:00
Dianne Skoll
1bfd7761bc
Use EXIT_FAILURE / EXIT_SUCCESS consistently.
2023-12-10 10:42:26 -05:00
Dianne Skoll
de9cb1d0a3
Use symbols STDIN_FILENO, etc.
2023-12-10 10:38:42 -05:00
Dianne Skoll
b2d32b514a
Catch SIGCONT to force it to interrupt the select() system call.
2023-12-09 19:12:27 -05:00
Dianne Skoll
6e53fd6924
Refactor code: Replace SystemTime(x)/60 with MinutesPastMidnight(x)
2023-12-09 10:41:03 -05:00
Dianne Skoll
d6e66ee1e6
Tighten test for removing very old reminders from queue.
2023-12-09 10:25:50 -05:00
Dianne Skoll
a49532b9c5
Remove non-triggered but expired reminders from the queue.
2023-12-08 14:02:29 -05:00
Dianne Skoll
57d87f4caf
Better logic for closing stdin/stdout/stderr if we fork.
2023-12-06 16:39:13 -05:00
Dianne Skoll
ec9b30c616
Don't let "REM ... MSG NOTE endreminder" mess with daemon protocol.
...
Pad with a leading space. :)
2023-12-06 13:28:17 -05:00
Dianne Skoll
ca795a352a
Add the $MaxLateMinutes system variable.
...
Don't trigger a timed reminder if it's more than $MaxLateMinutes past
the trigger time (for example, if the computer has hibernated and then
been awoken.)
2023-12-03 17:16:48 -05:00
Dianne Skoll
f7bb91320c
Return an error rather than (DATETIME) -1 if soleq fails
2023-10-08 11:58:28 -04:00
Dianne Skoll
c11071a859
Undo fixes - the problem is with mktime on 32-bit systems.
...
Remove tests that break on 32-bit systems.
2023-10-08 11:49:44 -04:00