diff options
author | Chet Ramey <chet.ramey@case.edu> | 2014-02-26 09:36:43 -0500 |
---|---|---|
committer | Chet Ramey <chet.ramey@case.edu> | 2014-02-26 09:36:43 -0500 |
commit | ac50fbac377e32b98d2de396f016ea81e8ee9961 (patch) | |
tree | f71882366b98fedf1a88a063103219a4935de926 /lib/glob/xmbsrtowcs.c | |
parent | 4539d736f1aff232857a854fd2a68df0c98d9f34 (diff) | |
download | android_external_bash-ac50fbac377e32b98d2de396f016ea81e8ee9961.tar.gz android_external_bash-ac50fbac377e32b98d2de396f016ea81e8ee9961.tar.bz2 android_external_bash-ac50fbac377e32b98d2de396f016ea81e8ee9961.zip |
Bash-4.3 distribution sources and documentation
Diffstat (limited to 'lib/glob/xmbsrtowcs.c')
-rw-r--r-- | lib/glob/xmbsrtowcs.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/lib/glob/xmbsrtowcs.c b/lib/glob/xmbsrtowcs.c index c410e05..11a4d1b 100644 --- a/lib/glob/xmbsrtowcs.c +++ b/lib/glob/xmbsrtowcs.c @@ -1,6 +1,6 @@ /* xmbsrtowcs.c -- replacement function for mbsrtowcs */ -/* Copyright (C) 2002-2010 Free Software Foundation, Inc. +/* Copyright (C) 2002-2013 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. @@ -166,7 +166,7 @@ xdupmbstowcs2 (destp, src) do { end_or_backslash = strchrnul(p, '\\'); - nms = (end_or_backslash - p); + nms = end_or_backslash - p; if (*end_or_backslash == '\0') nms++; @@ -283,6 +283,8 @@ xdupmbstowcs (destp, indicesp, src) { if (destp) *destp = NULL; + if (indicesp) + *indicesp = NULL; return (size_t)-1; } @@ -298,6 +300,8 @@ xdupmbstowcs (destp, indicesp, src) if (wsbuf == NULL) { *destp = NULL; + if (indicesp) + *indicesp = NULL; return (size_t)-1; } @@ -309,6 +313,7 @@ xdupmbstowcs (destp, indicesp, src) { free (wsbuf); *destp = NULL; + *indicesp = NULL; return (size_t)-1; } } @@ -343,6 +348,8 @@ xdupmbstowcs (destp, indicesp, src) free (wsbuf); FREE (indices); *destp = NULL; + if (indicesp) + *indicesp = NULL; return (size_t)-1; } @@ -362,18 +369,22 @@ xdupmbstowcs (destp, indicesp, src) free (wsbuf); FREE (indices); *destp = NULL; + if (indicesp) + *indicesp = NULL; return (size_t)-1; } wsbuf = wstmp; if (indicesp) { - idxtmp = (char **) realloc (indices, wsbuf_size * sizeof (char **)); + idxtmp = (char **) realloc (indices, wsbuf_size * sizeof (char *)); if (idxtmp == NULL) { free (wsbuf); free (indices); *destp = NULL; + if (indicesp) + *indicesp = NULL; return (size_t)-1; } indices = idxtmp; |