diff options
author | ian <ian> | 2007-11-28 16:35:52 +0000 |
---|---|---|
committer | ian <ian> | 2007-11-28 16:35:52 +0000 |
commit | 8b3cd2243acdd75581b9d50c9ca9fb60b98cd494 (patch) | |
tree | e9e0997ff66575ac3faa75a94d2586464e895d67 /util.c | |
parent | f14a3eeebff6e0a378b38629bc1202af7e74b420 (diff) | |
download | cwm-8b3cd2243acdd75581b9d50c9ca9fb60b98cd494.tar.gz cwm-8b3cd2243acdd75581b9d50c9ca9fb60b98cd494.tar.xz cwm-8b3cd2243acdd75581b9d50c9ca9fb60b98cd494.zip |
Add a "restart wm" function. ok oga@
Diffstat (limited to 'util.c')
-rw-r--r-- | util.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/util.c b/util.c index 4214ce6..9c570c5 100644 --- a/util.c +++ b/util.c @@ -39,6 +39,22 @@ u_spawn(char *argstr) return (0); } +void +exec_wm(char *argstr) +{ + char *args[MAXARGLEN], **ap = args; + char **end = &args[MAXARGLEN - 1]; + + while (ap < end && (*ap = strsep(&argstr, " \t")) != NULL) + ap++; + + *ap = NULL; + setsid(); + execvp(args[0], args); + err(1, args[0]); +} + + int dirent_exists(char *filename) { struct stat buffer; |