[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
wctob: small correction
From: |
Bruno Haible |
Subject: |
wctob: small correction |
Date: |
Mon, 3 May 2010 10:07:50 +0200 |
User-agent: |
KMail/1.9.9 |
This fixes a wctob replacement bug on weird platforms.
2010-05-03 Bruno Haible <address@hidden>
wctob: Fix for weird platforms.
* lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
argument value.
--- lib/wctob.c.orig Mon May 3 10:06:00 2010
+++ lib/wctob.c Mon May 3 10:04:00 2010
@@ -1,5 +1,5 @@
/* Convert wide character to unibyte character.
- Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2008, 2010 Free Software Foundation, Inc.
Written by Bruno Haible <address@hidden>, 2008.
This program is free software: you can redistribute it and/or modify
@@ -30,8 +30,9 @@
if (!(MB_CUR_MAX <= sizeof (buf)))
abort ();
- if (wctomb (buf, wc) == 1)
- return (unsigned char) buf[0];
- else
- return EOF;
+ /* Handle the case where WEOF is a value that does not fit in a wchar_t. */
+ if (wc == (wchar_t)wc)
+ if (wctomb (buf, (wchar_t)wc) == 1)
+ return (unsigned char) buf[0];
+ return EOF;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- wctob: small correction,
Bruno Haible <=