aboutsummaryrefslogtreecommitdiff
path: root/src/hotload.c
diff options
context:
space:
mode:
authorkoekeishiya <aasvi93@hotmail.com>2017-09-12 11:29:13 +0200
committerkoekeishiya <aasvi93@hotmail.com>2017-09-12 11:29:13 +0200
commit3e935e4fd23c06cdf67bd315280a0b1d637ad339 (patch)
tree3a735e336cd226df5a15b2ca2469d08c5be2607d /src/hotload.c
parente7737919e49e9b14649d5df4edb1534584527c40 (diff)
downloadskhd-3e935e4fd23c06cdf67bd315280a0b1d637ad339.tar.gz
skhd-3e935e4fd23c06cdf67bd315280a0b1d637ad339.zip
code cleanup
Diffstat (limited to 'src/hotload.c')
-rw-r--r--src/hotload.c28
1 files changed, 26 insertions, 2 deletions
diff --git a/src/hotload.c b/src/hotload.c
index 8f39b15..c0e8279 100644
--- a/src/hotload.c
+++ b/src/hotload.c
@@ -16,7 +16,8 @@ copy_string(const char *s)
return result;
}
-char *file_directory(const char *file)
+internal char *
+file_directory(const char *file)
{
char *last_slash = strrchr(file, '/');
*last_slash = '\0';
@@ -25,13 +26,36 @@ char *file_directory(const char *file)
return directory;
}
-char *file_name(const char *file)
+internal char *
+file_name(const char *file)
{
char *last_slash = strrchr(file, '/');
char *name = copy_string(last_slash + 1);
return name;
}
+bool hotloader_watched_file(struct hotloader *hotloader, char *absolutepath)
+{
+ bool success = false;
+ for(unsigned index = 0; success == 0 && index < hotloader->watch_count; ++index) {
+ struct watched_file *watch_info = &hotloader->watch_list[index];
+
+ char *directory = file_directory(absolutepath);
+ char *filename = file_name(absolutepath);
+
+ if(strcmp(watch_info->directory, directory) == 0) {
+ if(strcmp(watch_info->filename, filename) == 0) {
+ success = true;
+ }
+ }
+
+ free(filename);
+ free(directory);
+ }
+
+ return success;
+}
+
void hotloader_add_file(struct hotloader *hotloader, const char *file)
{
if(!hotloader->enabled) {