aboutsummaryrefslogtreecommitdiffstats
path: root/src/got-diminished-cerberus.c
diff options
context:
space:
mode:
authorMattias Andrée <m@maandree.se>2026-02-22 14:02:07 +0100
committerMattias Andrée <m@maandree.se>2026-02-22 14:02:07 +0100
commit65220abc14724130b559d35bb418c28e1133ec01 (patch)
tree56d0f6856018b6d5ff682ed7b77201fc44bb81a6 /src/got-diminished-cerberus.c
parentenable more warnings (diff)
downloadgot-diminished-65220abc14724130b559d35bb418c28e1133ec01.tar.gz
got-diminished-65220abc14724130b559d35bb418c28e1133ec01.tar.bz2
got-diminished-65220abc14724130b559d35bb418c28e1133ec01.tar.xz
m fixesHEADmaster
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to 'src/got-diminished-cerberus.c')
-rw-r--r--src/got-diminished-cerberus.c74
1 files changed, 35 insertions, 39 deletions
diff --git a/src/got-diminished-cerberus.c b/src/got-diminished-cerberus.c
index 8237c69..7f10d29 100644
--- a/src/got-diminished-cerberus.c
+++ b/src/got-diminished-cerberus.c
@@ -1,7 +1,7 @@
/**
* got-diminished – Extension for gates-of-tartaros to minimise memory usage after logging in
*
- * Copyright © 2013, 2014 Mattias Andrée (maandree@member.fsf.org)
+ * Copyright © 2013, 2014 Mattias Andrée (m@maandree.se)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -22,43 +22,39 @@
#include <stdio.h>
-int main(int argc, char** argv)
+int
+main(int argc, char *argv[])
{
- pid_t pid = vfork();
- if (pid == -1)
- {
- perror("vfork");
- return 1;
- }
-
- if (pid)
- {
- waitpid(pid, &pid, 0);
- {
- size_t n = 0, i;
- char* stty = *(argv + 2);
- char* stty_cmd;
-
- while (*(stty + n++))
- ;
-
- stty_cmd = malloc((5 + n) * sizeof(char));
- for (i = 0; i < 5; i++)
- *(stty_cmd + i) = *("stty " + i);
- stty_cmd += 5;
- for (i = 0; i < n; i++)
- *(stty_cmd + i) = *(stty + i);
- stty_cmd -= 5;
-
- system(stty_cmd);
- free(stty_cmd);
- }
- }
- else
- execlp("setsid", "setsid", "-c", "cerberus", "--", *(argv + 1), NULL);
-
- return 0;
-
- (void) argc;
-}
+ pid_t pid = vfork();
+ if (pid == -1) {
+ perror("vfork");
+ return 1;
+ }
+
+ if (pid) {
+ size_t n = 0, i;
+ char *stty = argv[2];
+ char *stty_cmd;
+
+ waitpid(pid, &pid, 0);
+
+ while (stty[n++]);
+ stty_cmd = malloc((5 + n) * sizeof(char));
+ for (i = 0; i < 5; i++)
+ stty_cmd[i] = "stty "[i];
+ stty_cmd += 5;
+ for (i = 0; i < n; i++)
+ stty_cmd[i] = stty[i];
+ stty_cmd -= 5;
+
+ system(stty_cmd);
+ free(stty_cmd);
+ } else {
+ execlp("setsid", "setsid", "-c", "cerberus", "--", *(argv + 1), NULL);
+ }
+
+ return 0;
+
+ (void) argc;
+}