From 62b3fd4e81e400e4885a5ca0d0ead8ba7f0115ea Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sun, 31 Jan 1999 16:53:28 +0000 Subject: [PATCH] (print_uptime): Use the C numeric locale for sscanf of /proc/uptime data, then restore. --- src/uptime.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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 */ -- 2.47.3