commit 3e45a7c0baee32bfc478b9879aadf903e529df3f
parent a20243ea7c8c12031bfe64d2477aacc6c5fb0e76
Author: Anselm R Garbe <anselm@garbe.us>
Date: Sun, 28 Mar 2010 02:14:01 +0000
added command line interface
Diffstat:
2 files changed, 43 insertions(+), 11 deletions(-)
diff --git a/config.def.h b/config.def.h
@@ -1,14 +1,14 @@
/* quark configuration */
-static const char servername[] = "192.168.1.66";
-static const char serverport[] = "80";
-static const char docroot[] = ".";
-static const char docindex[] = "index.html";
-static const char user[] = "nobody";
-static const char group[] = "nobody";
-static const char cgi_dir[] = "/var/www/werc-dev/bin";
-static const char cgi_script[] = "./werc.rc";
-static const int cgi_mode = 0;
+static char *servername = "127.0.0.1";
+static char *serverport = "80";
+static char *docroot = ".";
+static char *docindex = "index.html";
+static char *user = "nobody";
+static char *group = "nobody";
+static char *cgi_dir = "/var/www/werc-dev/bin";
+static char *cgi_script = "./werc.rc";
+static int cgi_mode = 0;
static const MimeType servermimes[] = {
{ "html", "text/html; charset=UTF-8" },
diff --git a/quark.c b/quark.c
@@ -459,10 +459,42 @@ main(int argc, char *argv[]) {
/* arguments */
for(i = 1; i < argc; i++)
- if(!strcmp(argv[i], "-v"))
+ if(!strcmp(argv[i], "-n")) {
+ if(++i < argc) servername = argv[i];
+ }
+ else if(!strcmp(argv[i], "-p")) {
+ if(++i < argc) serverport = argv[i];
+ }
+ else if(!strcmp(argv[i], "-r")) {
+ if(++i < argc) docroot = argv[i];
+ }
+ else if(!strcmp(argv[i], "-i")) {
+ if(++i < argc) docindex = argv[i];
+ }
+ else if(!strcmp(argv[i], "-u")) {
+ if(++i < argc) user = argv[i];
+ }
+ else if(!strcmp(argv[i], "-g")) {
+ if(++i < argc) group = argv[i];
+ }
+ else if(!strcmp(argv[i], "-c")) {
+ if(++i < argc) cgi_dir = argv[i];
+ if(++i < argc) {
+ cgi_script = argv[i];
+ cgi_mode = 1;
+ }
+ }
+ else if(!strcmp(argv[i], "-v"))
die("quark-"VERSION", © 2009-2010 Anselm R Garbe\n");
else
- die("usage: quark [-v]\n");
+ die("usage: quark [-n <server-name>]\n"
+ " [-p <port>]\n"
+ " [-r <doc root>]\n"
+ " [-i <doc index>]\n"
+ " [-u <user>]\n"
+ " [-g <group>]\n"
+ " [-c <cgi dir> <cgi script>]\n"
+ " [-v]\n");
/* sanity checks */
if(!(upwd = getpwnam(user)))