From: Jim Meyering Date: Sun, 31 Jan 1999 16:53:28 +0000 (+0000) Subject: (print_uptime): Use the C numeric locale for sscanf X-Git-Tag: TEXTUTILS-1_22h~51 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=62b3fd4e81e400e4885a5ca0d0ead8ba7f0115ea;p=thirdparty%2Fcoreutils.git (print_uptime): Use the C numeric locale for sscanf of /proc/uptime data, then restore. --- diff --git a/src/uptime.c b/src/uptime.c index c52496272c..352f0ab4bb 100644 --- a/src/uptime.c +++ b/src/uptime.c @@ -1,5 +1,5 @@ /* GNU's uptime. - Copyright (C) 92, 93, 94, 95, 96, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 92, 93, 94, 95, 96, 1997, 1998, 1999 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -63,9 +63,14 @@ print_uptime (int n, const STRUCT_UTMP *this) char buf[BUFSIZ]; int res; fgets (buf, BUFSIZ, fp); + + /* The following sscanf must use the C locale. */ + setlocale (LC_NUMERIC, "C"); res = sscanf (buf, "%lf", &upsecs); + setlocale (LC_NUMERIC, ""); if (res == 1) uptime = (time_t) upsecs; + fclose (fp); } #endif /* HAVE_PROC_UPTIME */