debian/rules: Use `git' potty wrapper.
[qmail] / auto-gid.c
CommitLineData
2117e02e
MW
1#include <sys/types.h>
2#include <grp.h>
3#include "subfd.h"
4#include "substdio.h"
5#include "readwrite.h"
6#include "exit.h"
7#include "scan.h"
8#include "fmt.h"
9
10char buf1[256];
11substdio ss1 = SUBSTDIO_FDBUF(write,1,buf1,sizeof(buf1));
12
13void outs(s)
14char *s;
15{
16 if (substdio_puts(&ss1,s) == -1) _exit(111);
17}
18
19void main(argc,argv)
20int argc;
21char **argv;
22{
23 char *name;
24 char *value;
25 struct group *gr;
26 char strnum[FMT_ULONG];
27
28 name = argv[1];
29 if (!name) _exit(100);
30 value = argv[2];
31 if (!value) _exit(100);
32
33 gr = getgrnam(value);
34 if (!gr) {
35 substdio_puts(subfderr,"fatal: unable to find group ");
36 substdio_puts(subfderr,value);
37 substdio_puts(subfderr,"\n");
38 substdio_flush(subfderr);
39 _exit(111);
40 }
41
42 strnum[fmt_ulong(strnum,(unsigned long) gr->gr_gid)] = 0;
43
44 outs("int ");
45 outs(name);
46 outs(" = ");
47 outs(strnum);
48 outs(";\n");
49 if (substdio_flush(&ss1) == -1) _exit(111);
50 _exit(0);
51}