s/qmail 4.2.29a
Next generation secure email transport
Loading...
Searching...
No Matches
auto-gid.c
Go to the documentation of this file.
1#include <unistd.h>
2#include <sys/types.h>
3#include <grp.h>
4#include "buffer.h"
5#include "exit.h"
6#include "scan.h"
7#include "fmt.h"
8
9char inbuf[256];
10buffer b = BUFFER_INIT(write,1,inbuf,sizeof(inbuf));
11
12void outs(char *s)
13{
14 if (buffer_puts(&b,s) == -1) _exit(111);
15}
16
17int main(int argc, char **argv)
18{
19 char *name;
20 char *value;
21 struct group *gr;
22 char strnum[FMT_ULONG];
23
24 name = argv[1];
25 if (!name) _exit(100);
26 value = argv[2];
27 if (!value) _exit(100);
28
29 gr = getgrnam(value);
30 if (!gr) {
31 buffer_puts(buffer_2,"fatal: unable to find group ");
32 buffer_puts(buffer_2,value);
33 buffer_puts(buffer_2,"\n");
34 buffer_flush(buffer_2);
35 _exit(111);
36 }
37
38 strnum[fmt_ulong(strnum,(unsigned long) gr->gr_gid)] = 0;
39
40 outs("int ");
41 outs(name);
42 outs(" = ");
43 outs(strnum);
44 outs(";\n");
45 if (buffer_flush(&b) == -1) _exit(111);
46 _exit(0);
47}
char inbuf[256]
Definition: auto-gid.c:9
buffer b
Definition: auto-gid.c:10
void outs(char *s)
Definition: auto-gid.c:12
int main()
Definition: chkshsgr.c:6
void _exit()
char strnum[FMT_ULONG]
Definition: qmail-inject.c:505
void write()