projects
/
gnulib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mbsrtowcs: Work around bug on native Windows.
[gnulib.git]
/
lib
/
unistr
/
u16-mbtouc-unsafe.c
diff --git
a/lib/unistr/u16-mbtouc-unsafe.c
b/lib/unistr/u16-mbtouc-unsafe.c
index
2a6a06c
..
b393397
100644
(file)
--- a/
lib/unistr/u16-mbtouc-unsafe.c
+++ b/
lib/unistr/u16-mbtouc-unsafe.c
@@
-1,5
+1,5
@@
/* Look at first character in UTF-16 string.
/* Look at first character in UTF-16 string.
- Copyright (C) 1999-2002, 2006-2007 Free Software Foundation, Inc.
+ Copyright (C) 1999-2002, 2006-2007
, 2009-2011
Free Software Foundation, Inc.
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
Written by Bruno Haible <bruno@clisp.org>, 2001.
This program is free software: you can redistribute it and/or modify it
@@
-17,6
+17,12
@@
#include <config.h>
#include <config.h>
+#if defined IN_LIBUNISTRING
+/* Tell unistr.h to declare u16_mbtouc_unsafe as 'extern', not
+ 'static inline'. */
+# include "unistring-notinline.h"
+#endif
+
/* Specification. */
#include "unistr.h"
/* Specification. */
#include "unistr.h"
@@
-37,20
+43,20
@@
u16_mbtouc_unsafe (ucs4_t *puc, const uint16_t *s, size_t n)
#endif
{
if (n >= 2)
#endif
{
if (n >= 2)
- {
+
{
#if CONFIG_UNICODE_SAFETY
#if CONFIG_UNICODE_SAFETY
- if (s[1] >= 0xdc00 && s[1] < 0xe000)
+
if (s[1] >= 0xdc00 && s[1] < 0xe000)
#endif
#endif
- {
- *puc = 0x10000 + ((c - 0xd800) << 10) + (s[1] - 0xdc00);
- return 2;
- }
- /* invalid multibyte character */
- }
+
{
+
*puc = 0x10000 + ((c - 0xd800) << 10) + (s[1] - 0xdc00);
+
return 2;
+
}
+
/* invalid multibyte character */
+
}
else
else
- {
- /* incomplete multibyte character */
- }
+
{
+
/* incomplete multibyte character */
+
}
}
/* invalid multibyte character */
*puc = 0xfffd;
}
/* invalid multibyte character */
*puc = 0xfffd;