Re: Avoid ctype(3) abuses
Leonardo Taccari <[email protected]> Mon, 12 Jan 2026 23:19:48 +0100
| Newsgroups | gmane.comp.web.dillo.devel |
|---|---|
| Message-ID | <[email protected]> |
SGVsbG8gUm9kcmlnbywNCg0KUm9kcmlnbyBBcmlhcyB3cml0ZXM6DQo+IEhpLA0KPg0KPiBPbiBN b24sIEphbiAxMiwgMjAyNiBhdCAxMTowNToxN0FNICswMTAwLCBMZW9uYXJkbyBUYWNjYXJpIHdy b3RlOg0KPiA+SGVsbG8hDQo+ID4NCj4gPk1vc3QgY3R5cGUoMykgZnVuY3Rpb25zIHVzYWdlIGFi dXNlcyBhbiB1bmRlZmluZWQgYmVoYXZpb3Igb2YgcGFzc2luZw0KPiA+dmFsdWVzIG91dHNpZGUg aW50ZWdlcnMgb3V0c2lkZSBFT0Ygb3IgdGhlIHJhbmdlIHJlcHJlc2VudGFibGUgYXMNCj4gPnVu c2lnbmVkIGNoYXIuDQo+ID4NCj4gPk9uIE5ldEJTRCAxMSBhbmQgbmV3ZXIgc3VjaCBpbmNvcnJl Y3QgYmVoYXZpb3JzIGNyYXNoZXMgYXBwbGljYXRpb25zDQo+ID52aW9sYXRpbmcgdGhhdCBhbmQg ZHVlIHRoYXQgRGlsbG8gZWFzaWx5IGNyYXNoIGJ5IGp1c3QgdmlzaXRpbmcsIGUuZy4NCj4gPjxo dHRwczovL3d3dy5OZXRCU0Qub3JnLz4uDQo+ID4NCj4gPkZvciBwb3NzaWJsZSBmdXJ0aGVyIGlu Zm9ybWF0aW9uIHBsZWFzZSBnaXZlIGEgbG9vayB0bw0KPiA+PGh0dHBzOi8vbWFuLk5ldEJTRC5v cmcvY3R5cGUuMyNDQVZFQVRTPi4NCj4NCj4gSW50ZXJlc3RpbmchDQo+DQo+ID5JIGhhdmUgZ3Jl cC1lZCBhbGwgc3VjaCB1c2VzIGFuZCBhZGRlZCB0aGUgcmVsZXZhbnQgY2FzdCB0byB1Y2hhcl90 DQo+ID5zaW1pbGFyIHRvIG90aGVyIGN0eXBlKDMpIGNhbGxzIGFscmVhZHkgcHJlc2VudCBhbmQg aW4gdGhhdCB3YXkgSSBjYW4NCj4gPmFsc28gY29uZmlybSB0aGF0IERpbGxvIG5vIGxvbmdlciBj cmFzaGVzLg0KPg0KPiBUaGFua3MgZm9yIHRoZSBwYXRjaCBhbmQgdGVzdHMuDQo+DQo+IFdlIGhh dmUgd3JhcHBlcnMgdGhhdCBkbyBqdXN0IHRoYXQgZm9yIGlzc3BhY2UoKSBhbmQgaXNhbG51bSgp IGluIA0KPiBkbGliL2RsaWIuaDoNCj4NCj4gaHR0cHM6Ly9naXQuZGlsbG8tYnJvd3Nlci5vcmcv ZGlsbG8vdHJlZS9kbGliL2RsaWIuaD9pZD03YzZjY2ViZTYxMDc3OTAyMTYwNzk4ZTVhZjQ2ZWIz NTJhZTI0ZmRkI240NA0KPg0KPiBJIHdvdWxkIGJlIGluY2xpbmVkIHRvIGFkZCB0aGUgZXh0cmEg d3JhcHBlcnMgdGhlcmUgYW5kIHVzZSB0aGUgDQo+IGRJc3NwYWNlLCBkSXNhbG51bS4uLiBtYWNy b3MgaW5zdGVhZCBvZiBkb2luZyB0aGUgZXhwbGljaXQgY2FzdGluZy4NCj4NCj4gQWRkaXRpb25h bGx5LCBJIHRoaW5rIGl0IHdvdWxkIGJlIHNhZmVyIHRvIGFsc28gc3dpdGNoIGFsbCB0aGVzZSBj dHlwZSANCj4gbWFjcm9zIHRvIHN0YXRpYyBpbmxpbmUgZnVuY3Rpb25zIHNvIHdlIGNvdmVyIGFj Y2lkZW50YWwgY2FzdGluZ3MgZnJvbSANCj4gdW5leHBlY3RlZCB0eXBlcyB3aXRoIGFuIGVycm9y IGluc3RlYWQgb2YgYSB3YXJuaW5nOg0KPg0KPiAgICBzdGF0aWMgaW5saW5lIGludCBkSXNhbG51 bSh1bnNpZ25lZCBjaGFyIGMpIHsgcmV0dXJuIGlzYWxudW0oYyk7IH0NCj4NCj4gRXhhbXBsZToN Cj4NCj4gICAgJSBjYXQgZm9vLmMNCj4gICAgI2luY2x1ZGUgPGN0eXBlLmg+DQo+ICAgIHN0YXRp YyBpbmxpbmUgaW50IGRJc2FsbnVtKHVuc2lnbmVkIGNoYXIgYykgeyByZXR1cm4gaXNhbG51bShj KTsgfQ0KPiAgICAjZGVmaW5lIGRJc2FsbnVtX3Vuc2FmZShjKSBpc2FsbnVtKCh1bnNpZ25lZCBj aGFyKSAoYykpDQo+DQo+ICAgIGludCBtYWluKHZvaWQpDQo+ICAgIHsNCj4gICAgICBjaGFyICph ID0gImEiOw0KPiAgICAgIGRJc2FsbnVtKGEpOw0KPiAgICAgIGRJc2FsbnVtX3Vuc2FmZShhKTsN Cj4NCj4gICAgICByZXR1cm4gMDsNCj4gICAgfQ0KPg0KPiAgICAlIGdjYyBmb28uYyAtbyBmb28N Cj4gICAgZm9vLmM6IEluIGZ1bmN0aW9uIOKAmG1haW7igJk6DQo+ICAgIGZvby5jOjg6MTg6IGVy cm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCYZElzYWxudW3igJkgbWFrZXMgaW50ZWdlciBm cm9tIHBvaW50ZXIgd2l0aG91dCBhIGNhc3QgWy1XaW50LWNvbnZlcnNpb25dDQo+ICAgICAgICA4 IHwgICAgICAgICBkSXNhbG51bShhKTsNCj4gICAgICAgICAgfCAgICAgICAgICAgICAgICAgIF4N Cj4gICAgICAgICAgfCAgICAgICAgICAgICAgICAgIHwNCj4gICAgICAgICAgfCAgICAgICAgICAg ICAgICAgIGNoYXIgKg0KPiAgICBmb28uYzoyOjQyOiBub3RlOiBleHBlY3RlZCDigJh1bnNpZ25l ZCBjaGFy4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmGNoYXIgKuKAmQ0KPiAgICAgICAg MiB8IHN0YXRpYyBpbmxpbmUgaW50IGRJc2FsbnVtKHVuc2lnbmVkIGNoYXIgYykgeyByZXR1cm4g aXNhbG51bShjKTsgfQ0KPiAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+ fn5+fn5+fn5+fn5+Xg0KPiAgICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gZm9vLmM6MToNCj4gICAg Zm9vLmM6MzozNjogd2FybmluZzogY2FzdCBmcm9tIHBvaW50ZXIgdG8gaW50ZWdlciBvZiBkaWZm ZXJlbnQgc2l6ZSBbLVdwb2ludGVyLXRvLWludC1jYXN0XQ0KPiAgICAgICAgMyB8ICNkZWZpbmUg ZElzYWxudW1fdW5zYWZlKGMpIGlzYWxudW0oKHVuc2lnbmVkIGNoYXIpIChjKSkNCj4gICAgICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4NCj4gICAgZm9vLmM6OTo5 OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYZElzYWxudW1fdW5zYWZl4oCZDQo+ICAg ICAgICA5IHwgICAgICAgICBkSXNhbG51bV91bnNhZmUoYSk7DQo+ICAgICAgICAgIHwgICAgICAg ICBefn5+fn5+fn5+fn5+fn4NCj4gWy4uLl0NCg0KR29vZCBpZGVhIQ0KDQpJIHdpbGwgdGhlbiBh ZGQgcG9zc2libGUgbWlzc2luZyBkKigpIGhlbHBlciBjdHlwZSgzKSBmdW5jdGlvbnMgYW5kDQph ZGFwdCBhbGwgZGlyZWN0IGN0eXBlKDMpIHVzZXJzIHRvIHN3aXRjaCB0byBzdWNoIGQqKCkgaGVs cGVyDQpmdW5jdGlvbnMuDQoNCkkgaG9wZSB0byBiZSBhYmxlIHRvIHNoYXJlIHBvc3NpYmxlIHBh dGNoZXMgZm9yIHRoYXQgaW4gNDggaG91cnMgb3Igc28hDQoNCg0KVGhhbmsgeW91IQ0KX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRGlsbG8tZGV2IG1haWxp bmcgbGlzdCAtLSBkaWxsby1kZXZAbWFpbG1hbjMuY29tClRvIHVuc3Vic2NyaWJlIHNlbmQgYW4g ZW1haWwgdG8gZGlsbG8tZGV2LWxlYXZlQG1haWxtYW4zLmNvbQo=