Handle fractional seconds with more (or less) than 3 digits in timestamps
authorMikael Berthe <mikael@lilotux.net>
Thu, 11 Dec 2014 20:19:37 +0100
changeset 2168 87244845fd9c
parent 2167 634cc23e8c1c
child 2169 4889f429fdd0
Handle fractional seconds with more (or less) than 3 digits in timestamps According to XEP-0082, the "fractional second addendum to Time MAY contain any number of digits". Reported by Holger.
mcabber/mcabber/utils.c
--- a/mcabber/mcabber/utils.c	Fri Oct 17 22:42:07 2014 +0200
+++ b/mcabber/mcabber/utils.c	Thu Dec 11 20:19:37 2014 +0100
@@ -429,7 +429,8 @@
       int tzhrs, tzmins;
 
       if (*c == '.') /* dealing with precision we don't care about */
-        c += 4;
+        while (isdigit(*++c))
+          ;
 
       if ((*c == '+' || *c == '-') &&
           sscanf(c+1, "%02d:%02d", &tzhrs, &tzmins)) {