tcheck if polls/ exists, create it if not - vote - simple cgi voting system for web and gopher
(HTM) git clone git://src.adamsgaard.dk/vote
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit 338931d646f13dcfa659fe1ecebefcc79abdda1b
(DIR) parent cb2cf1d1ce9a181c872544f55ef5531725e57864
(HTM) Author: Anders Damsgaard <anders@adamsgaard.dk>
Date: Sun, 27 Sep 2020 01:09:12 +0200
check if polls/ exists, create it if not
Diffstat:
M vote.c | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
---
(DIR) diff --git a/vote.c b/vote.c
t@@ -6,6 +6,7 @@
#include <errno.h>
#define OUT(s) (fputs((s), stdout))
+#define POLLS_DIR "polls"
void
print_html_head() {
t@@ -39,17 +40,21 @@ int
main() {
char *query;
char *q;
+ struct stat sb;
- if (pledge("stdio cpath", NULL) == -1) {
+ if (pledge("stdio cpath rpath", NULL) == -1) {
fprintf(stderr, "pledge: %s\n", strerror(errno));
OUT("Status: 500 Internal Server Error\r\n\r\n");
exit(1);
}
+ if (stat(POLLS_DIR, &sb) == -1) {
+ fprintf(stderr, "dir %s does not exist: %s\n", POLLS_DIR, strerror(errno));
- if (mkdir("polls", 0755) == -1) {
- fprintf(stderr, "mkdir polls/ failed: %s\n", strerror(errno));
- OUT("Status: 500 Internal Server Error\r\n\r\n");
- exit(0);
+ if (mkdir(POLLS_DIR, 0755) == -1) {
+ fprintf(stderr, "mkdir polls/ failed: %s\n", strerror(errno));
+ OUT("Status: 500 Internal Server Error\r\n\r\n");
+ exit(0);
+ }
}
if (!(query = getenv("QUERY_STRING")))