Mercurial > sci
annotate sciwebd.c @ 9:3ef8128e244f
sci: add project-update command
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 23 Jun 2021 14:05:36 +0200 |
parents | 5fa3d2f479b2 |
children | 3051ef92173a |
rev | line source |
---|---|
2
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
1 #include <stdio.h> |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
2 #include <stdlib.h> |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
3 #include <stdnoreturn.h> |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
4 #include <unistd.h> |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
5 |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
6 #include "http.h" |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
7 #include "log.h" |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
8 |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
9 const char *sock = VARDIR "/run/sci.sock"; |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
10 |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
11 noreturn static void |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
12 usage(void) |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
13 { |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
14 fprintf(stderr, "usage: %s [-f] [-s sock]\n", getprogname()); |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
15 exit(1); |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
16 } |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
17 |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
18 static void |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
19 init(void) |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
20 { |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
21 log_open(getprogname()); |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
22 } |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
23 |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
24 static void |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
25 finish(void) |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
26 { |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
27 log_finish(); |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
28 } |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
29 |
0 | 30 int |
2
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
31 main(int argc, char **argv) |
0 | 32 { |
2
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
33 int ch; |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
34 void (*run)(void) = &(http_cgi_run); |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
35 |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
36 setprogname("sciwebd"); |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
37 |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
38 while ((ch = getopt(argc, argv, "fs:")) != -1) { |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
39 switch (ch) { |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
40 case 'f': |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
41 run = &(http_fcgi_run); |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
42 break; |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
43 case 's': |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
44 sock = optarg; |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
45 break; |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
46 default: |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
47 usage(); |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
48 break; |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
49 } |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
50 } |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
51 |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
52 init(); |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
53 run(); |
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
0
diff
changeset
|
54 finish(); |
0 | 55 } |