Allow decimal comma separator for times expressed as decimals.
authorDavin McCall <davmac@davmac.org>
Sat, 6 Jan 2018 22:23:35 +0000 (22:23 +0000)
committerDavin McCall <davmac@davmac.org>
Sat, 6 Jan 2018 22:23:35 +0000 (22:23 +0000)
Some locales use a comma to separate a decimal whole from its fractional
part, so allow either a decimal stop or a decimal comma.

src/load_service.cc

index 740ba7647734a666572315cd86193559911d5cba..5c211b1920f1522a1315e874b38f4eff8c1a5807 100644 (file)
@@ -307,6 +307,8 @@ static gid_t parse_gid_param(const std::string &param, const std::string &servic
     return grent->gr_gid;
 }
 
+// Parse a time, specified as a decimal number of seconds (with optional fractional component after decimal
+// point or decimal comma).
 static void parse_timespec(const std::string &paramval, const std::string &servicename,
         const char * paramname, timespec &ts)
 {
@@ -317,7 +319,7 @@ static void parse_timespec(const std::string &paramval, const std::string &servi
     decltype(len) i;
     for (i = 0; i < len; i++) {
         char ch = paramval[i];
-        if (ch == '.') {
+        if (ch == '.' || ch == ',') {
             i++;
             break;
         }