build: use _DEFAULT_SOURCE
[project/uhttpd.git] / main.c
diff --git a/main.c b/main.c
index 6cbceb7c142c327b1382a3c084d055b5f569c85d..11b33ffab8baf4e0608cdb3069f43a526c146aa4 100644 (file)
--- a/main.c
+++ b/main.c
@@ -17,6 +17,7 @@
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
+#define _DEFAULT_SOURCE
 #define _BSD_SOURCE
 #define _GNU_SOURCE
 #define _XOPEN_SOURCE  700
@@ -232,7 +233,7 @@ int main(int argc, char **argv)
        init_defaults_pre();
        signal(SIGPIPE, SIG_IGN);
 
-       while ((ch = getopt(argc, argv, "A:aC:c:Dd:E:fh:I:i:K:k:L:l:m:N:n:p:qRr:Ss:T:t:U:u:Xx:y:")) != -1) {
+       while ((ch = getopt(argc, argv, "A:aC:c:Dd:E:fh:H:I:i:K:k:L:l:m:N:n:p:qRr:Ss:T:t:U:u:Xx:y:")) != -1) {
                switch(ch) {
 #ifdef HAVE_TLS
                case 'C':
@@ -273,6 +274,14 @@ int main(int argc, char **argv)
                        conf.docroot = strdup(uh_buf);
                        break;
 
+               case 'H':
+                       if (uh_handler_add(optarg)) {
+                               fprintf(stderr, "Error: Failed to load handler script %s\n",
+                                       optarg);
+                               exit(1);
+                       }
+                       break;
+
                case 'E':
                        if (optarg[0] != '/') {
                                fprintf(stderr, "Error: Invalid error handler: %s\n",