]> git.sur5r.net Git - openldap/commitdiff
lutil time resolution issue
authorKurt Zeilenga <kurt@openldap.org>
Tue, 9 May 2006 19:48:32 +0000 (19:48 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Tue, 9 May 2006 19:48:32 +0000 (19:48 +0000)
CHANGES
libraries/liblutil/utils.c

diff --git a/CHANGES b/CHANGES
index b3c3c055e2fb8b7095721067c9331753c05c3f3f..1f2a7e88746070b18b79aab8df84bb8bc1cb2fbd 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -20,6 +20,7 @@ OpenLDAP 2.3.22 Engineering
        Fixed slapo-translucent modifications
        Fixed libldap_r thread debug missing break
        Fixed libldap_r tpool cleanup
+       Fixed liblutil time resolution issue
 
 OpenLDAP 2.3.21 Release
        Fixed libldap referral chasing issue (ITS#4448)
index 31849fea04141b836f91a164732310bcb6213c05..ce5304f3f17720b701e4082046c62499e0608559 100644 (file)
@@ -247,14 +247,17 @@ int lutil_parsetime( char *atm, struct lutil_tm *tm )
                if (tm->tm_sec < 0 || tm->tm_sec > 61) break;
 
                /* Fractions of seconds */
-               for (i = 0, fracs = 0; isdigit((unsigned char) *ptr); ) {
-                       i*=10; i+= *ptr++ - '0';
-                       fracs++;
-               }
-               tm->tm_usec = i;
-               if (i) {
-                       for (i = fracs; i<6; i++)
-                               tm->tm_usec *= 10;
+               if ( *ptr == '.' ) {
+                       ptr++;
+                       for (i = 0, fracs = 0; isdigit((unsigned char) *ptr); ) {
+                               i*=10; i+= *ptr++ - '0';
+                               fracs++;
+                       }
+                       tm->tm_usec = i;
+                       if (i) {
+                               for (i = fracs; i<6; i++)
+                                       tm->tm_usec *= 10;
+                       }
                }
 
                /* Must be UTC */