Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 3 Jul 2000 11:21:26 +0700 (NSS)
From:      Max Khon <fjoe@iclub.nsu.ru>
To:        hackers@freebsd.org
Subject:   mbstowcs/wcstombs
Message-ID:  <Pine.BSF.4.21.0007031107080.76752-200000@iclub.nsu.ru>

next in thread | raw e-mail | index | archive | help
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--0-550152396-962598086=:76752
Content-Type: TEXT/PLAIN; charset=US-ASCII

hi, there!

sorry for posting here but freebsd-i18n list seems to be dead (is it?)

some products (e.g. Xerces for C from XML Apache Project) rely on the
following behaviour of mbstowcs/wcstombs:

when `dest' param is NULL then `len' parameter is ignored and
these functions return required length to store the result.
This feature is implemented at least in Solaris' libc and glibc 2.1.2.

attached patch implements this behaviour (with updated man page and
one minor fix in man 3 multibyte).

btw is there ongoing effort to merge Citrus libxpg4 to our base tree?
freebsd-i18n archives are empty. searching yields nothing
except links to Citrus homepage and NetBSD `whatsnew' pages.

/fjoe

--0-550152396-962598086=:76752
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="mbstowcs.diff"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.BSF.4.21.0007031121250.76752@iclub.nsu.ru>
Content-Description: 
Content-Disposition: attachment; filename="mbstowcs.diff"

LS0tIGxpYi9saWJjL2xvY2FsZS9hbnNpLmMub3JpZwlNb24gSnVsICAzIDA5
OjU4OjMyIDIwMDANCisrKyBsaWIvbGliYy9sb2NhbGUvYW5zaS5jCU1vbiBK
dWwgIDMgMTA6MDU6MjkgMjAwMA0KQEAgLTEwNSwxNSArMTA1LDIxIEBADQog
CWNoYXIgY29uc3QgKmU7DQogCWludCBjbnQgPSAwOw0KIA0KLQlpZiAoIXB3
Y3MgfHwgIXMpDQorCWlmICghcykNCiAJCXJldHVybiAoLTEpOw0KIA0KLQl3
aGlsZSAobi0tID4gMCkgew0KLQkJKnB3Y3MgPSBzZ2V0cnVuZShzLCBNQl9M
RU5fTUFYLCAmZSk7DQotCQlpZiAoKnB3Y3MgPT0gX0lOVkFMSURfUlVORSkN
CisJd2hpbGUgKCFwd2NzIHx8IG4tLSA+IDApIHsNCisJCXdjaGFyX3Qgd2M7
DQorDQorCQl3YyA9IHNnZXRydW5lKHMsIE1CX0xFTl9NQVgsICZlKTsNCisJ
CWlmIChwd2NzKQ0KKwkJCSpwd2NzID0gd2M7DQorCQlpZiAod2MgPT0gX0lO
VkFMSURfUlVORSkNCiAJCQlyZXR1cm4gKC0xKTsNCi0JCWlmICgqcHdjcysr
ID09IDApDQorCQlpZiAod2MgPT0gMCkNCiAJCQlicmVhazsNCisJCWlmIChw
d2NzKQ0KKwkJCXB3Y3MrKzsNCiAJCXMgPSBlOw0KIAkJKytjbnQ7DQogCX0N
CkBAIC0xMjksMjMgKzEzNSwzMCBAQA0KIAljaGFyICplOw0KIAlpbnQgY250
LCBuYjsNCiANCi0JaWYgKCFwd2NzIHx8ICFzIHx8IG4gPiBJTlRfTUFYKQ0K
KwlpZiAoIXB3Y3MgfHwgKHMgJiYgbiA+IElOVF9NQVgpKQ0KIAkJcmV0dXJu
ICgtMSk7DQogDQogCW5iID0gbjsNCiAJY250ID0gMDsNCi0Jd2hpbGUgKG5i
ID4gMCkgew0KKwl3aGlsZSAoIXMgfHwgbmIgPiAwKSB7DQorCQljaGFyIGNb
TUJfTEVOX01BWCArIDFdOw0KKwkJc2l6ZV90IGNfY250Ow0KKw0KIAkJaWYg
KCpwd2NzID09IDApIHsNCi0JCQkqcyA9IDA7DQorCQkJaWYgKHMpDQorCQkJ
CSpzID0gMDsNCiAJCQlicmVhazsNCiAJCX0NCi0JCWlmICghc3B1dHJ1bmUo
KnB3Y3MrKywgcywgbmIsICZlKSkNCisJCWlmICghc3B1dHJ1bmUoKnB3Y3Mr
KywgcyA/IHMgOiBjLCBzID8gbmIgOiBNQl9MRU5fTUFYLCAmZSkpDQogCQkJ
cmV0dXJuICgtMSk7CQkvKiBlbmNvZGluZyBlcnJvciAqLw0KIAkJaWYgKCFl
KQkJCS8qIHRvbyBsb25nICovDQogCQkJcmV0dXJuIChjbnQpOw0KLQkJY250
ICs9IGUgLSBzOw0KLQkJbmIgLT0gZSAtIHM7DQotCQlzID0gZTsNCisJCWNf
Y250ID0gcyA/IGUgLSBzIDogZSAtIGM7DQorCQljbnQgKz0gY19jbnQ7DQor
CQlpZiAocykgew0KKwkJCW5iIC09IGNfY250Ow0KKwkJCXMgKz0gY19jbnQ7
DQorCQl9DQogCX0NCiAJcmV0dXJuIChjbnQpOw0KIH0NCi0tLSBsaWIvbGli
Yy9sb2NhbGUvbXVsdGlieXRlLjMub3JpZwlNb24gSnVsICAzIDEwOjA4OjAw
IDIwMDANCisrKyBsaWIvbGliYy9sb2NhbGUvbXVsdGlieXRlLjMJTW9uIEp1
bCAgMyAxMDoyMDo1MCAyMDAwDQpAQCAtNzcsNyArNzcsNyBAQA0KIGFuZCBj
b2RlIGVhY2ggYmFzaWMgZWxlbWVudCBhcyBhIHNlcXVlbmNlIG9mIEMNCiAu
VmEgY2hhciBOcyBzIC4NCiBJbmRpdmlkdWFsIGJhc2ljIGVsZW1lbnRzIG1h
eSBtYXAgaW50byBvbmUgb3IgbW9yZQ0KLS5QcSB1cCB0byBEdiBNQl9DSEFS
X01BWA0KKy5QcSB1cCB0byBEdiBNQl9MRU5fTUFYDQogYnl0ZXMgaW4gYSBt
dWx0aWJ5dGUgY2hhcmFjdGVyLg0KIC5QcA0KIFRoZSBjdXJyZW50IGxvY2Fs
ZQ0KQEAgLTE3Niw2ICsxNzYsMTQgQEANCiAuRmEgbndjaGFycw0KIHdpZGUg
Y2hhcmFjdGVycyBhcmUgc3RvcmVkLg0KIEEgdGVybWluYXRpbmcgbnVsbCB3
aWRlIGNoYXJhY3RlciBpcyBhcHBlbmRlZCBpZiB0aGVyZSBpcyByb29tLg0K
K0lmDQorLkZhIHdjc3RyaW5nDQoraXMgYSBudWxsIHBvaW50ZXIsDQorLkZu
IG1ic3Rvd2NzDQorcmV0dXJucyB0aGUgbGVuZ3RoIHJlcXVpcmVkIHRvIGNv
bnZlcnQgdGhlIGVudGlyZSBhcnJheSByZWdhcmRsZXNzDQorb2YgdGhlIHZh
bHVlIG9mDQorLkZhIG53Y2hhcnMgLA0KK2J1dCBubyB2YWx1ZXMgYXJlIHN0
b3JlZC4NCiAuUHANCiBUaGUNCiAuRm4gd2NzdG9tYnMNCkBAIC0xODksNiAr
MTk3LDE0IEBADQogLkZhIG1ic3RyaW5nIC4NCiBQYXJ0aWFsIG11bHRpYnl0
ZSBjaGFyYWN0ZXJzIGF0IHRoZSBlbmQgb2YgdGhlIHN0cmluZyBhcmUgbm90
IHN0b3JlZC4NCiBUaGUgbXVsdGlieXRlIGNoYXJhY3RlciBzdHJpbmcgaXMg
bnVsbCB0ZXJtaW5hdGVkIGlmIHRoZXJlIGlzIHJvb20uDQorSWYNCisuRmEg
bWJzdHJpbmcNCitpcyBhIG51bGwgcG9pbnRlciwNCisuRm4gd2NzdG9tYnMN
CityZXR1cm5zIHRoZSBsZW5ndGggcmVxdWlyZWQgdG8gY29udmVydCB0aGUg
ZW50aXJlIGFycmF5IHJlZ2FyZGxlc3MNCitvZiB0aGUgdmFsdWUgb2YNCisu
RmEgbmJ5dGVzICwNCitidXQgbm8gdmFsdWVzIGFyZSBzdG9yZWQuDQogLlNo
ICJSRVRVUk4gVkFMVUVTDQogSWYgbXVsdGlieXRlIGNoYXJhY3RlcnMgYXJl
IG5vdCBzdXBwb3J0ZWQgaW4gdGhlIGN1cnJlbnQgbG9jYWxlLA0KIGFsbCBv
ZiB0aGVzZSBmdW5jdGlvbnMgd2lsbCByZXR1cm4gXC0xIGlmIGNoYXJhY3Rl
cnMgY2FuIGJlIHByb2Nlc3NlZCwNCkBAIC0yMTYsMTEgKzIzMiwxNSBAQA0K
IC5QcA0KIFRoZQ0KIC5GbiBtYnN0b3djcw0KLWZ1bmN0aW9uIHJldHVybnMg
dGhlIG51bWJlciBvZiB3aWRlIGNoYXJhY3RlcnMgY29udmVydGVkLA0KK2Z1
bmN0aW9uIHJldHVybnMgdGhlIG51bWJlciBvZiB3aWRlIGNoYXJhY3RlcnMg
Y29udmVydGVkIChvciByZXF1aXJlZCBpZg0KKy5GYSB3Y3N0cmluZw0KK2lz
IE5VTEwpLA0KIG5vdCBjb3VudGluZyBhbnkgdGVybWluYXRpbmcgbnVsbCB3
aWRlIGNoYXJhY3Rlci4NCiBUaGUNCiAuRm4gd2NzdG9tYnMNCi1mdW5jdGlv
biByZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgY29udmVydGVkLA0KK2Z1
bmN0aW9uIHJldHVybnMgdGhlIG51bWJlciBvZiBieXRlcyBjb252ZXJ0ZWQg
KG9yIHJlcXVpcmVkIGlmDQorLkZhIG1ic3RyaW5nDQoraXMgTlVMTCksDQog
bm90IGNvdW50aW5nIGFueSB0ZXJtaW5hdGluZyBudWxsIGJ5dGUuDQogSWYg
YW55IGludmFsaWQgbXVsdGlieXRlIGNoYXJhY3RlcnMgYXJlIGVuY291bnRl
cmVkLA0KIGJvdGggZnVuY3Rpb25zIHJldHVybiBcLTEuDQo=
--0-550152396-962598086=:76752--


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0007031107080.76752-200000>