]> git.seodisparate.com - c_simple_http/commitdiff
Add separate flag for generate-static overwrite
authorStephen Seo <seo.disparate@gmail.com>
Mon, 25 Nov 2024 05:17:32 +0000 (14:17 +0900)
committerStephen Seo <seo.disparate@gmail.com>
Mon, 25 Nov 2024 05:17:32 +0000 (14:17 +0900)
Previous implementation allowed static files to overwrite existing files
on generate if static-dir was specified and generate-enable-overwrite
was specified. Now, an additional flag
"--generate-static-enable-overwrite" determines if static-dir files
overwrite on generate.

src/arg_parse.c
src/arg_parse.h
src/main.c
src/static.c

index f56b2cc38ec51d5c9d299c721efeaa065b23edd4..2aeb9f4a3f7d05358fd5a62cacfe582e4d491b79 100644 (file)
@@ -46,6 +46,7 @@ void print_usage(void) {
   puts("  --enable-static-dir=<DIR>");
   puts("  --generate-dir=<DIR>");
   puts("  --generate-enable-overwrite");
+  puts("  --generate-static-enable-overwrite");
 }
 
 Args parse_args(int32_t argc, char **argv) {
@@ -189,6 +190,8 @@ Args parse_args(int32_t argc, char **argv) {
       }
     } else if (strcmp(argv[0], "--generate-enable-overwrite") == 0) {
       args.flags |= 4;
+    } else if (strcmp(argv[0], "--generate-static-enable-overwrite") == 0) {
+      args.flags |= 8;
     } else {
       fprintf(stderr, "ERROR: Invalid args!\n");
       print_usage();
index 1a4a510d828c7b6d2665bce33d954e2df85b6766..59a03ee8fd1b270498d717c2f4aaea11722b725b 100644 (file)
@@ -29,6 +29,7 @@ typedef struct Args {
   // xxxx xx0x - disable listen on config file for reloading.
   // xxxx xx1x - enable listen on config file for reloading.
   // xxxx x1xx - enable overwrite on generate.
+  // xxxx 1xxx - enable overwrite on generate for static dir.
   uint16_t flags;
   uint16_t port;
   // Does not need to be free'd, this should point to a string in argv.
index 601a5a09148dc979f559080e7e5e0bc073b91f51..b2b633848c6111be31c616217b5b6eeb7681cdc3 100644 (file)
@@ -363,7 +363,7 @@ int main(int argc, char **argv) {
       puts("Static dir option specified, copying over static dir entries...");
       if (c_simple_http_static_copy_over_dir(args.static_dir,
                                              args.generate_dir,
-                                             (args.flags & 4) != 0 ? 1 : 0)
+                                             (args.flags & 8) != 0 ? 1 : 0)
           != 0) {
         fprintf(stderr, "ERROR during static-dir-entires copying!\n");
         return 1;
index c6d76b91896325a19ccb4e47c220db8d493f1205..cfa07f379d36129a0e90f87fddcb93b6729f80a6 100644 (file)
@@ -421,8 +421,8 @@ int c_simple_http_static_copy_over_dir(const char *from,
         if (fd) {
           fprintf(
             stderr,
-            "WARNING \"%s\" already exists and --generate-enable-overwrite not "
-              "specified, skipping!\n",
+            "WARNING \"%s\" already exists and "
+              "--generate-static-enable-overwrite not specified, skipping!\n",
             combined_to);
           continue;
         }