parse-duration: remove xalloc.h dependency
authorBruce Korb <bkorb@gnu.org>
Thu, 3 Mar 2011 23:07:32 +0000 (15:07 -0800)
committerBruce Korb <bkorb@gnu.org>
Thu, 3 Mar 2011 23:07:32 +0000 (15:07 -0800)
* lib/parse-duration.c (parse_period): handle NULL return from
strdup instead of calling xstrdup().
* modules/parse-duration: remove "xalloc" dependency

ChangeLog
lib/parse-duration.c
modules/parse-duration

index 1b9a2f3..af2abe5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2011-03-03  Bruce Korb  <bkorb@gnu.org>
+
+       parse-duration: remove xalloc.h dependency
+       * lib/parse-duration.c (parse_period): handle NULL return from
+       strdup instead of calling xstrdup().
+       * modules/parse-duration: remove "xalloc" dependency
+
 2011-03-03  Matthew Booth  <mbooth@redhat.com>
 
        bootstrap: honor m4_base when running aclocal
index 8c28133..0a8c4ad 100644 (file)
@@ -26,7 +26,6 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include "xalloc.h"
 
 #ifndef NUL
 #define NUL '\0'
@@ -381,7 +380,7 @@ parse_time (cch_t * pz)
 }
 
 /* Returns a substring of the given string, with spaces at the beginning and at
-   the end destructively removed.  */
+   the end destructively removed, per SNOBOL.  */
 static char *
 trim (char * pz)
 {
@@ -406,13 +405,20 @@ trim (char * pz)
 static time_t
 parse_period (cch_t * in_pz)
 {
-  char * pz   = xstrdup (in_pz);
-  char * pT   = strchr (pz, 'T');
+  char * pT;
   char * ps;
+  char * pz   = strdup (in_pz);
   void * fptr = pz;
   time_t res  = 0;
 
-  if (pT != NUL)
+  if (pz == NULL)
+    {
+      errno = ENOMEM;
+      return BAD_TIME;
+    }
+
+  pT = strchr (pz, 'T');
+  if (pT != NULL)
     {
       *(pT++) = NUL;
       pz = trim (pz);
index 2e8f3d1..e36c917 100644 (file)
@@ -6,7 +6,6 @@ lib/parse-duration.h
 lib/parse-duration.c
 
 Depends-on:
-xalloc
 
 configure.ac:
 AC_REQUIRE([AC_C_INLINE])