add stylesheet and rxpd option / config
[webgit] / src / options.c
index cd3f582b4b9963a1b366f60d4b0358e88b1f0883..547ea3090753fd3d0c7bc68d3ac503561904bd26 100644 (file)
@@ -24,7 +24,7 @@
 
 #include <stdlib.h>
 #include <stdio.h>
-
+#include <stdint.h>
 
 static int
 conf_query_opt (struct webgit_query* query, char* arg)
@@ -55,6 +55,13 @@ conf_repo_opt (struct webgit_query* query, char* arg)
   return 0;
 }
 
+static int
+conf_stylesheet_opt (struct webgit_query* query, char* arg)
+{
+  query->stylesheet = cwa_strndup (arg, SIZE_MAX);
+  return 0;
+}
+
 static int
 conf_conf_opt (struct webgit_query* query, char* arg)
 {
@@ -63,6 +70,30 @@ conf_conf_opt (struct webgit_query* query, char* arg)
   return 0;
 }
 
+static int
+conf_rxpd_opt (struct webgit_query* query, char* arg)
+{
+  char* delim = strchr (arg, ':');
+
+  if (delim)
+    {
+      query->rxpd_name = cwa_strndup (arg, delim-arg-1);
+      query->rxpd_port = atoi (delim+1);
+    }
+  else if (strchr (arg, '/'))
+    {
+      query->rxpd_name = cwa_strndup (arg, SIZE_MAX);
+      query->rxpd_port = 0;
+      return -1; /* rxpd doesnt yet support unix domain sockets */
+    }
+  else
+    {
+      return -1;
+    }
+
+  return 0;
+}
+
 static int
 conf_count_opt (struct webgit_query* query, char* arg)
 {