From ddc3a8842bcf2277b0ae5437a2e125433127dd8d Mon Sep 17 00:00:00 2001 From: Adam Harrison Date: Mon, 9 May 2022 21:30:13 -0400 Subject: [PATCH] Fixed dirwatch dummy, and scanning. --- data/core/dirwatch.lua | 5 +++-- src/api/dirmonitor/dummy.c | 10 +++++----- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/data/core/dirwatch.lua b/data/core/dirwatch.lua index 314a33c0..68f62082 100644 --- a/data/core/dirwatch.lua +++ b/data/core/dirwatch.lua @@ -97,8 +97,9 @@ function dirwatch:check(change_callback, scan_time, wait_time) local start_time = system.get_time() for directory, old_modified in pairs(self.scanned) do if old_modified then - local new_modified = system.get_file_info(directory).modified - if old_modified < new_modified then + local info = system.get_file_info(directory) + local new_modified = info and info.modified + if old_modified ~= new_modified then change_callback(directory) had_change = true self.scanned[directory] = new_modified diff --git a/src/api/dirmonitor/dummy.c b/src/api/dirmonitor/dummy.c index 9c19d27d..c71e849d 100644 --- a/src/api/dirmonitor/dummy.c +++ b/src/api/dirmonitor/dummy.c @@ -1,8 +1,8 @@ #include struct dirmonitor_internal* init_dirmonitor() { return NULL; } -void deinit_dirmonitor(struct dirmonitor_internal*) { } -int get_changes_dirmonitor(struct dirmonitor_internal*, char*, size_t) { return -1; } -int translate_changes_dirmonitor(struct dirmonitor_internal*, char*, int, int (*)(int, const char*, void*), void*) { return -1; } -int add_dirmonitor(struct dirmonitor_internal*, const char*) { return -1; } -void remove_dirmonitor(struct dirmonitor_internal*, int) { } +void deinit_dirmonitor(struct dirmonitor_internal* monitor) { } +int get_changes_dirmonitor(struct dirmonitor_internal* monitor, char* buffer, size_t len) { return -1; } +int translate_changes_dirmonitor(struct dirmonitor_internal* monitor, char* buffer, int size, int (*callback)(int, const char*, void*), void* data) { return -1; } +int add_dirmonitor(struct dirmonitor_internal* monitor, const char* path) { return -1; } +void remove_dirmonitor(struct dirmonitor_internal* monitor, int fd) { }