summaryrefslogtreecommitdiff
path: root/daemonize.c
diff options
context:
space:
mode:
authorCarson Fleming <cflems@cflems.net>2017-08-18 10:44:23 -0700
committerGitHub <noreply@github.com>2017-08-18 10:44:23 -0700
commit2826c6082ba0d0d3c006b48c0ae76b32f29093dc (patch)
tree65a25a61c86625f0643016a79c8c0577dab6239b /daemonize.c
parent19540108aa204f854f8ea12b63ea863bc8bc20dd (diff)
downloaddaemonize-2826c6082ba0d0d3c006b48c0ae76b32f29093dc.tar.gz
Make sure there is a command to be run before daemonizing
Diffstat (limited to 'daemonize.c')
-rw-r--r--daemonize.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/daemonize.c b/daemonize.c
index ab231c5..94662d6 100644
--- a/daemonize.c
+++ b/daemonize.c
@@ -9,6 +9,10 @@ void q (char* m) {
exit(1);
}
+void qtoofewargs () {
+ q("[daemonize] Too few arguments.\nUsage: daemonize [--chdir] [--noclose] <command>");
+}
+
char* lowerdup (char* a) {
char* b = strdup(a);
int i;
@@ -19,7 +23,7 @@ char* lowerdup (char* a) {
}
int main (int argc, char** argv) {
- if (argc < 2) q("[daemonize] Too few arguments.\nUsage: daemonize [--chdir] [--noclose] <command>");
+ if (argc < 2) qtoofewargs();
int i, cmdlen = 0, buff_size = 256, nochdir = 1, noclose = 0;
char* buffer = malloc(buff_size);
@@ -41,6 +45,8 @@ int main (int argc, char** argv) {
free(cmp);
}
buffer[cmdlen-1] = 0;
+
+ if (cmdlen < 1) qtoofewargs();
daemon(nochdir, noclose);
system(buffer);