projects
/
debian
/
tar
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Import upstream version 1.26
[debian/tar]
/
gnu
/
mbrtowc.c
diff --git
a/gnu/mbrtowc.c
b/gnu/mbrtowc.c
index 7768ce93c274e1e4ff10d1e264f525695de61c09..19f515915b14869fdbfd71fa7a3e22516e3a1d2a 100644
(file)
--- a/
gnu/mbrtowc.c
+++ b/
gnu/mbrtowc.c
@@
-1,7
+1,7
@@
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Convert multibyte character to wide character.
/* -*- buffer-read-only: t -*- vi: set ro: */
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Convert multibyte character to wide character.
- Copyright (C) 1999-2002, 2005-201
0
Free Software Foundation, Inc.
+ Copyright (C) 1999-2002, 2005-201
1
Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2008.
This program is free software: you can redistribute it and/or modify
Written by Bruno Haible <bruno@clisp.org>, 2008.
This program is free software: you can redistribute it and/or modify
@@
-42,9
+42,6
@@
mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
{
char *pstate = (char *)ps;
{
char *pstate = (char *)ps;
- if (pstate == NULL)
- pstate = internal_state;
-
if (s == NULL)
{
pwc = NULL;
if (s == NULL)
{
pwc = NULL;
@@
-56,6
+53,10
@@
mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
return (size_t)(-2);
/* Here n > 0. */
return (size_t)(-2);
/* Here n > 0. */
+
+ if (pstate == NULL)
+ pstate = internal_state;
+
{
size_t nstate = pstate[0];
char buf[4];
{
size_t nstate = pstate[0];
char buf[4];
@@
-93,7
+94,7
@@
mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
/* Here m > 0. */
/* Here m > 0. */
-# if __GLIBC__
+# if __GLIBC__
|| defined __UCLIBC__
/* Work around bug <http://sourceware.org/bugzilla/show_bug.cgi?id=9674> */
mbtowc (NULL, NULL, 0);
# endif
/* Work around bug <http://sourceware.org/bugzilla/show_bug.cgi?id=9674> */
mbtowc (NULL, NULL, 0);
# endif
@@
-323,7
+324,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)
{
size_t
rpl_mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
{
-# if MBRTOWC_NULL_ARG_BUG || MBRTOWC_RETVAL_BUG
+# if MBRTOWC_NULL_ARG
2
_BUG || MBRTOWC_RETVAL_BUG
if (s == NULL)
{
pwc = NULL;
if (s == NULL)
{
pwc = NULL;
@@
-381,7
+382,16
@@
rpl_mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
return ret;
}
# else
return ret;
}
# else
- return mbrtowc (pwc, s, n, ps);
+ {
+# if MBRTOWC_NULL_ARG1_BUG
+ wchar_t dummy;
+
+ if (pwc == NULL)
+ pwc = &dummy;
+# endif
+
+ return mbrtowc (pwc, s, n, ps);
+ }
# endif
}
# endif
}