* update-game-score.c: Include <limits.h>
(get_user_id): Do not assume uid fits in 'int'. Simplify.
This commit is contained in:
parent
644a0faa36
commit
0c6d656d26
2 changed files with 8 additions and 10 deletions
|
|
@ -30,6 +30,9 @@
|
|||
in 'int'. Instead, put the possibly-long file name into the
|
||||
output of pfatal_with_name.
|
||||
|
||||
* update-game-score.c: Include <limits.h>
|
||||
(get_user_id): Do not assume uid fits in 'int'. Simplify.
|
||||
|
||||
2011-07-28 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Assume freestanding C89 headers, string.h, stdlib.h.
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
|
||||
#include <unistd.h>
|
||||
#include <errno.h>
|
||||
#include <limits.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
|
@ -128,19 +129,13 @@ lose_syserr (const char *msg)
|
|||
static char *
|
||||
get_user_id (void)
|
||||
{
|
||||
char *name;
|
||||
struct passwd *buf = getpwuid (getuid ());
|
||||
if (!buf)
|
||||
{
|
||||
int count = 1;
|
||||
int uid = (int) getuid ();
|
||||
int tuid = uid;
|
||||
while (tuid /= 10)
|
||||
count++;
|
||||
name = malloc (count+1);
|
||||
if (!name)
|
||||
return NULL;
|
||||
sprintf (name, "%d", uid);
|
||||
long uid = getuid ();
|
||||
char *name = malloc (sizeof uid * CHAR_BIT / 3 + 1);
|
||||
if (name)
|
||||
sprintf (name, "%ld", uid);
|
||||
return name;
|
||||
}
|
||||
return buf->pw_name;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue