From 10169d19c63b2a88e6c63ba48a40a42dd290494c Mon Sep 17 00:00:00 2001 From: Bruce Korb Date: Thu, 3 Mar 2011 15:07:32 -0800 Subject: [PATCH] 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 --- ChangeLog | 7 +++++++ lib/parse-duration.c | 16 +++++++++++----- modules/parse-duration | 1 - 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1b9a2f3b8..af2abe5eb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2011-03-03 Bruce Korb + + 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 bootstrap: honor m4_base when running aclocal diff --git a/lib/parse-duration.c b/lib/parse-duration.c index 8c281330a..0a8c4ada8 100644 --- a/lib/parse-duration.c +++ b/lib/parse-duration.c @@ -26,7 +26,6 @@ #include #include #include -#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); diff --git a/modules/parse-duration b/modules/parse-duration index 2e8f3d1b6..e36c917aa 100644 --- a/modules/parse-duration +++ b/modules/parse-duration @@ -6,7 +6,6 @@ lib/parse-duration.h lib/parse-duration.c Depends-on: -xalloc configure.ac: AC_REQUIRE([AC_C_INLINE]) -- 2.11.0