* NEWS, srclib/getlong.c: Fix parsing of octal numbers.

* NEWS, src/login.c: Fix segfault when no user is provided on the
	command line.
This commit is contained in:
nekral-guest
2009-04-15 17:50:17 +00:00
parent 70d9bc6233
commit a24058d660
4 changed files with 27 additions and 3 deletions

View File

@@ -35,13 +35,20 @@
#include <errno.h>
#include "prototypes.h"
/*
* getlong - extract a long integer provided by the numstr string in *result
*
* It supports decimal, hexadecimal or octal representations.
*
* Returns 0 on failure, 1 on success.
*/
int getlong (const char *numstr, long int *result)
{
long val;
char *endptr;
errno = 0;
val = strtol (numstr, &endptr, 10);
val = strtol (numstr, &endptr, 0);
if (('\0' == numstr) || ('\0' != *endptr) || (ERANGE == errno)) {
return 0;
}