diff options
Diffstat (limited to 'src/auto-uid.c')
-rw-r--r-- | src/auto-uid.c | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/src/auto-uid.c b/src/auto-uid.c deleted file mode 100644 index 4eaaa2d..0000000 --- a/src/auto-uid.c +++ /dev/null @@ -1,48 +0,0 @@ -#include <pwd.h> -#include <sys/types.h> -#include <unistd.h> - -#include "buffer.h" -#include "exit.h" -#include "fmt.h" -#include "scan.h" - -char inbuf[256]; -buffer b = BUFFER_INIT(write, 1, inbuf, sizeof(inbuf)); - -void outs(char *s) /* was named puts, but Solaris pwd.h includes stdio.h. dorks. */ -{ - if (buffer_puts(&b, s) == -1) _exit(111); -} - -int main(int argc, char **argv) -{ - char *name; - char *value; - struct passwd *pw; - char strnum[FMT_ULONG]; - - name = argv[1]; - if (!name) _exit(100); - value = argv[2]; - if (!value) _exit(100); - - pw = getpwnam(value); - if (!pw) { - buffer_puts(buffer_2, "fatal: unable to find user "); - buffer_puts(buffer_2, value); - buffer_puts(buffer_2, "\n"); - buffer_flush(buffer_2); - _exit(111); - } - - strnum[fmt_ulong(strnum, (unsigned long)pw->pw_uid)] = 0; - - outs("int "); - outs(name); - outs(" = "); - outs(strnum); - outs(";\n"); - if (buffer_flush(&b) == -1) _exit(111); - _exit(0); -} |