diff options
author | Andy Wingo <wingo@pobox.com> | 2015-10-22 13:10:30 +0000 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2015-10-22 13:34:00 +0000 |
commit | 2d4da30fdefbcdb065d4b1f48f2a77d06f69e3c3 (patch) | |
tree | 3f50180297054aeecd0b478e5f7260366b304c71 /lib/mbrtowc.c | |
parent | 139ef2d17c98488fc8e5444bf642699f2ad09e08 (diff) | |
download | guile-2d4da30fdefbcdb065d4b1f48f2a77d06f69e3c3.tar.gz |
Update Gnulib to v0.1-603-g1d16a7b
Diffstat (limited to 'lib/mbrtowc.c')
-rw-r--r-- | lib/mbrtowc.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/mbrtowc.c b/lib/mbrtowc.c index dff12962d..a5d61a066 100644 --- a/lib/mbrtowc.c +++ b/lib/mbrtowc.c @@ -1,5 +1,5 @@ /* Convert multibyte character to wide character. - Copyright (C) 1999-2002, 2005-2014 Free Software Foundation, Inc. + Copyright (C) 1999-2002, 2005-2015 Free Software Foundation, Inc. Written by Bruno Haible <bruno@clisp.org>, 2008. This program is free software: you can redistribute it and/or modify @@ -328,7 +328,7 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps) size_t rpl_mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps) { -# if MBRTOWC_NULL_ARG2_BUG || MBRTOWC_RETVAL_BUG +# if MBRTOWC_NULL_ARG2_BUG || MBRTOWC_RETVAL_BUG || MBRTOWC_EMPTY_INPUT_BUG if (s == NULL) { pwc = NULL; @@ -337,6 +337,11 @@ rpl_mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps) } # endif +# if MBRTOWC_EMPTY_INPUT_BUG + if (n == 0) + return (size_t) -2; +# endif + # if MBRTOWC_RETVAL_BUG { static mbstate_t internal_state; |