diff options
Diffstat (limited to 'riemann.fmi.uni-sofia.bg/programs/nlogin-0.3-pre/scan_uid.c')
| -rw-r--r-- | riemann.fmi.uni-sofia.bg/programs/nlogin-0.3-pre/scan_uid.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/riemann.fmi.uni-sofia.bg/programs/nlogin-0.3-pre/scan_uid.c b/riemann.fmi.uni-sofia.bg/programs/nlogin-0.3-pre/scan_uid.c new file mode 100644 index 0000000..da9c85e --- /dev/null +++ b/riemann.fmi.uni-sofia.bg/programs/nlogin-0.3-pre/scan_uid.c @@ -0,0 +1,14 @@ +#include <sys/types.h> +#include "str_defs.h" + +unsigned int scan_uid(char *buf, char *prefix, uid_t *uid) /*EXTRACT_INCL*/{ + int len = str_len(prefix); + char *p = buf + len; + unsigned long u; + + if (str_diffn(buf,prefix,len) || !(len = scan_ulong(p, &u))) return 0; + p += len; + if (*p++ != 0) return 0; + *uid = u; + return p-buf; +} |
