delorie.com/archives/browse.cgi | search |
X-Authentication-Warning: | delorie.com: mail set sender to djgpp-bounces using -f |
From: | Esa A E Peuha <esa DOT peuha AT helsinki DOT fi> |
Newsgroups: | comp.os.msdos.djgpp |
Subject: | Re: Bug in mbstowcs() in DJGPP's C library |
Date: | 25 Jun 2007 01:52:00 +0300 |
Organization: | University of Helsinki |
Lines: | 31 |
Message-ID: | <86pabupynhr.fsf@sirppi.helsinki.fi> |
References: | <ioF*uuQNr AT news DOT chiark DOT greenend DOT org DOT uk> |
NNTP-Posting-Host: | sirppi.helsinki.fi |
X-Trace: | oravannahka.helsinki.fi 1182725520 14176 128.214.205.27 (24 Jun 2007 22:52:00 GMT) |
X-Complaints-To: | abuse AT helsinki DOT fi |
NNTP-Posting-Date: | 24 Jun 2007 22:52:00 GMT |
X-Newsreader: | Gnus v5.6.43/Emacs 19.34 |
To: | djgpp AT delorie DOT com |
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
Reply-To: | djgpp AT delorie DOT com |
Simon Tatham <anakin AT pobox DOT com> writes: > I believe mbstowcs() in DJGPP's C library is behaving incorrectly. > It appears to be unwilling to fill its entire output buffer with > non-zero wide characters, preferring to stop one character short of > the end of the buffer That's correct. > and write a NUL. But this isn't; from the current source size_t mbstowcs(wchar_t *wcs, const char *s, size_t n) { size_t i; for (i=0; (i+1<n) && s[i]; i++) wcs[i] = s[i]; if (i+1<n) wcs[i] = 0; return i; } it's obvious that the function simply treats its numeric argument as one less than it actually is. -- Esa Peuha student of mathematics at the University of Helsinki http://www.helsinki.fi/~peuha/
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |