1 7285a491 2004-06-17 devnull #include <u.h>
2 7285a491 2004-06-17 devnull #include <libc.h>
5 7285a491 2004-06-17 devnull * /adm/users is
6 7285a491 2004-06-17 devnull * id:user/group:head member:other members
8 7285a491 2004-06-17 devnull * /etc/{passwd,group}
9 7285a491 2004-06-17 devnull * name:x:nn:other stuff
12 7285a491 2004-06-17 devnull static int isnumber(char *s);
14 7285a491 2004-06-17 devnull sniff(Biobuf *b)
16 7285a491 2004-06-17 devnull read first line of file into p;
18 7285a491 2004-06-17 devnull nf = getfields(p, f, nelem(f), ":");
19 7285a491 2004-06-17 devnull if(nf < 4)
20 7285a491 2004-06-17 devnull return nil;
22 7285a491 2004-06-17 devnull if(isnumber(f[0]) && !isnumber(f[2]))
23 7285a491 2004-06-17 devnull return _plan9;
25 7285a491 2004-06-17 devnull if(!isnumber(f[0]) && isnumber(f[2]))
26 7285a491 2004-06-17 devnull return _unix;
28 7285a491 2004-06-17 devnull return nil;
33 7285a491 2004-06-17 devnull isnumber(char *s)
37 7285a491 2004-06-17 devnull strtol(s, &q, 10);
38 7285a491 2004-06-17 devnull return *q == '\0';
41 7285a491 2004-06-17 devnull /* EOF */