Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Oct 2001 09:20:27 +0400 (MSD)
From:      "Andrew L. Neporada" <andr@dgap.mipt.ru>
To:        freebsd-hackers@freebsd.org
Subject:   memmem(3) -- new libc function proposal
Message-ID:  <20011026090237.V1864-200000@nas.dgap.mipt.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-2136107261-1004073627=:1864
Content-Type: TEXT/PLAIN; charset=US-ASCII

memmem(3) is  another one substring searching function. Unlike str(n)str
it could be used for binary strings search. memmem is compatible with GNU
libc memmem.
Please comment/review.

				Andrew.



--0-2136107261-1004073627=:1864
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="memmem.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <20011026092027.X1864@nas.dgap.mipt.ru>
Content-Description: memmem.patch
Content-Disposition: attachment; filename="memmem.patch"

ZGlmZiAtcnVOIHNyYy5vcmlnL2luY2x1ZGUvc3RyaW5nLmggc3JjL2luY2x1
ZGUvc3RyaW5nLmgNCi0tLSBzcmMub3JpZy9pbmNsdWRlL3N0cmluZy5oCVRo
dSBPY3QgMTggMDU6MzU6NDcgMjAwMQ0KKysrIHNyYy9pbmNsdWRlL3N0cmlu
Zy5oCUZyaSBPY3QgMjYgMDg6MTM6NDQgMjAwMQ0KQEAgLTgxLDYgKzgxLDcg
QEANCiBpbnQJIGZmcyBfX1AoKGludCkpOw0KIGNoYXIJKmluZGV4IF9fUCgo
Y29uc3QgY2hhciAqLCBpbnQpKTsNCiB2b2lkCSptZW1jY3B5IF9fUCgodm9p
ZCAqLCBjb25zdCB2b2lkICosIGludCwgc2l6ZV90KSk7DQordm9pZAkqbWVt
bWVtIF9fUCgoY29uc3Qgdm9pZCAqLCBzaXplX3QsIGNvbnN0IHZvaWQgKiwg
c2l6ZV90KSk7DQogY2hhcgkqcmluZGV4IF9fUCgoY29uc3QgY2hhciAqLCBp
bnQpKTsNCiBpbnQJIHN0cmNhc2VjbXAgX19QKChjb25zdCBjaGFyICosIGNv
bnN0IGNoYXIgKikpOw0KIGNoYXIJKnN0cmNhc2VzdHIgX19QKChjb25zdCBj
aGFyICosIGNvbnN0IGNoYXIgKikpOw0KZGlmZiAtcnVOIHNyYy5vcmlnL2xp
Yi9saWJjL3N0cmluZy9NYWtlZmlsZS5pbmMgc3JjL2xpYi9saWJjL3N0cmlu
Zy9NYWtlZmlsZS5pbmMNCi0tLSBzcmMub3JpZy9saWIvbGliYy9zdHJpbmcv
TWFrZWZpbGUuaW5jCVdlZCBPY3QgMTAgMDY6MTc6MzUgMjAwMQ0KKysrIHNy
Yy9saWIvbGliYy9zdHJpbmcvTWFrZWZpbGUuaW5jCVRodSBPY3QgMjUgMjI6
Mjk6NDAgMjAwMQ0KQEAgLTcsOCArNyw4IEBADQogDQogIyBtYWNoaW5lLWlu
ZGVwZW5kZW50IHN0cmluZyBzb3VyY2VzDQogTUlTUkNTKz1iY21wLmMgYmNv
cHkuYyBiemVyby5jIGZmcy5jIGluZGV4LmMgbWVtY2NweS5jIG1lbWNoci5j
IG1lbWNtcC5jIFwNCi0JbWVtY3B5LmMgbWVtbW92ZS5jIG1lbXNldC5jIHJp
bmRleC5jIHN0cmNhc2VjbXAuYyBzdHJjYXQuYyBzdHJjaHIuYyBcDQotCXN0
cmNtcC5jIHN0cmNvbGwuYyBzdHJjcHkuYyBzdHJjc3BuLmMgc3RyZHVwLmMg
c3RyZXJyb3IuYyBcDQorCW1lbWNweS5jIG1lbW1lbS5jIG1lbW1vdmUuYyBt
ZW1zZXQuYyByaW5kZXguYyBzdHJjYXNlY21wLmMgc3RyY2F0LmMgXA0KKwlz
dHJjaHIuYyBzdHJjbXAuYyBzdHJjb2xsLmMgc3RyY3B5LmMgc3RyY3Nwbi5j
IHN0cmR1cC5jIHN0cmVycm9yLmMgXA0KIAlzdHJsY2F0LmMgc3RybGNweS5j
IHN0cmxlbi5jIHN0cm1vZGUuYyBzdHJuY2F0LmMgc3RybmNtcC5jIHN0cm5j
cHkuYyBcDQogCXN0cmNhc2VzdHIuYyBzdHJuc3RyLmMgXA0KIAlzdHJwYnJr
LmMgc3RycmNoci5jIHN0cnNlcC5jIHN0cnNpZ25hbC5jIHN0cnNwbi5jIHN0
cnN0ci5jIHN0cnRvay5jIFwNCkBAIC0yNSwxMCArMjUsMTAgQEANCiANCiAu
aWYgJHtMSUJ9ID09ICJjIg0KIE1BTis9CWJjbXAuMyBiY29weS4zIGJzdHJp
bmcuMyBiemVyby4zIGZmcy4zIGluZGV4LjMgbWVtY2NweS4zIG1lbWNoci4z
IFwNCi0JbWVtY21wLjMgbWVtY3B5LjMgbWVtbW92ZS4zIG1lbXNldC4zIHJp
bmRleC4zIHN0cmNhc2VjbXAuMyBzdHJjYXQuMyBcDQotCXN0cmNoci4zIHN0
cmNtcC4zIHN0cmNvbGwuMyBzdHJjcHkuMyBzdHJjc3BuLjMgc3RyZHVwLjMg
c3RyZXJyb3IuMyBcDQotCXN0cmluZy4zIHN0cmxjcHkuMyBzdHJsZW4uMyBz
dHJtb2RlLjMgc3RycGJyay4zIHN0cnJjaHIuMyBzdHJzZXAuMyBcDQotCXN0
cnNwbi4zIHN0cnN0ci4zIHN0cnRvay4zIHN0cnhmcm0uMyBzd2FiLjMgd21l
bWNoci4zDQorCW1lbWNtcC4zIG1lbWNweS4zIG1lbWVtLjMgbWVtbW92ZS4z
IG1lbXNldC4zIHJpbmRleC4zIHN0cmNhc2VjbXAuMyBcDQorCXN0cmNhdC4z
IHN0cmNoci4zIHN0cmNtcC4zIHN0cmNvbGwuMyBzdHJjcHkuMyBzdHJjc3Bu
LjMgc3RyZHVwLjMgXA0KKwlzdHJlcnJvci4zIHN0cmluZy4zIHN0cmxjcHku
MyBzdHJsZW4uMyBzdHJtb2RlLjMgc3RycGJyay4zIHN0cnJjaHIuMyBcDQor
CXN0cnNlcC4zIHN0cnNwbi4zIHN0cnN0ci4zIHN0cnRvay4zIHN0cnhmcm0u
MyBzd2FiLjMgd21lbWNoci4zDQogDQogTUxJTktTKz1zdHJjYXNlY21wLjMg
c3RybmNhc2VjbXAuMw0KIE1MSU5LUys9c3RyY2F0LjMgc3RybmNhdC4zDQpk
aWZmIC1ydU4gc3JjLm9yaWcvbGliL2xpYmMvc3RyaW5nL2JzdHJpbmcuMyBz
cmMvbGliL2xpYmMvc3RyaW5nL2JzdHJpbmcuMw0KLS0tIHNyYy5vcmlnL2xp
Yi9saWJjL3N0cmluZy9ic3RyaW5nLjMJTW9uIE9jdCAgMSAyMDowOTowMCAy
MDAxDQorKysgc3JjL2xpYi9saWJjL3N0cmluZy9ic3RyaW5nLjMJVGh1IE9j
dCAyNSAyMjo1NTowMyAyMDAxDQpAQCAtNDUsNiArNDUsNyBAQA0KIC5ObSBt
ZW1jaHIgLA0KIC5ObSBtZW1jbXAgLA0KIC5ObSBtZW1jcHkgLA0KKy5ObSBt
ZW1tZW0gLA0KIC5ObSBtZW1tb3ZlICwNCiAuTm0gbWVtc2V0DQogLk5kIGJ5
dGUgc3RyaW5nIG9wZXJhdGlvbnMNCkBAIC02Nyw2ICs2OCw4IEBADQogLkZ0
IHZvaWQgKg0KIC5GbiBtZW1jcHkgInZvaWQgKmRzdCIgImNvbnN0IHZvaWQg
KnNyYyIgInNpemVfdCBsZW4iDQogLkZ0IHZvaWQgKg0KKy5GbiBtZW1tZW0g
ImNvbnN0IHZvaWQgKnN0ciIgInNpemVfdCBzdHJsZW4iICJjb25zdCB2b2lk
ICpzdWJzdHIiICJzaXplX3Qgc3VibGVuIg0KKy5GdCB2b2lkICoNCiAuRm4g
bWVtbW92ZSAidm9pZCAqZHN0IiAiY29uc3Qgdm9pZCAqc3JjIiAic2l6ZV90
IGxlbiINCiAuRnQgdm9pZCAqDQogLkZuIG1lbXNldCAidm9pZCAqYiIgImlu
dCBjIiAic2l6ZV90IGxlbiINCkBAIC04Niw2ICs4OSw3IEBADQogLlhyIG1l
bWNociAzICwNCiAuWHIgbWVtY21wIDMgLA0KIC5YciBtZW1jcHkgMyAsDQor
LlhyIG1lbW1lbSAzICwNCiAuWHIgbWVtbW92ZSAzICwNCiAuWHIgbWVtc2V0
IDMNCiAuU2ggU1RBTkRBUkRTDQpkaWZmIC1ydU4gc3JjLm9yaWcvbGliL2xp
YmMvc3RyaW5nL21lbW1lbS4zIHNyYy9saWIvbGliYy9zdHJpbmcvbWVtbWVt
LjMNCi0tLSBzcmMub3JpZy9saWIvbGliYy9zdHJpbmcvbWVtbWVtLjMJVGh1
IEphbiAgMSAwMzowMDowMCAxOTcwDQorKysgc3JjL2xpYi9saWJjL3N0cmlu
Zy9tZW1tZW0uMwlGcmkgT2N0IDI2IDA3OjIxOjAyIDIwMDENCkBAIC0wLDAg
KzEsODQgQEANCisuXCIgQ29weXJpZ2h0IChjKSAyMDAxIEFuZHJldyBMLiBO
ZXBvcmFkYSA8YW5kckBkZ2FwLm1pcHQucnU+DQorLlwiIENvcHlyaWdodCAo
YykgMTk5MCwgMTk5MSwgMTk5Mw0KKy5cIglUaGUgUmVnZW50cyBvZiB0aGUg
VW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4NCisuXCINCisuXCIgVGhpcyBjb2RlIGlzIGRlcml2ZWQgZnJvbSBzb2Z0
d2FyZSBjb250cmlidXRlZCB0byBCZXJrZWxleSBieQ0KKy5cIiBDaHJpcyBU
b3JlayBhbmQgdGhlIEFtZXJpY2FuIE5hdGlvbmFsIFN0YW5kYXJkcyBDb21t
aXR0ZWUgWDMsDQorLlwiIG9uIEluZm9ybWF0aW9uIFByb2Nlc3NpbmcgU3lz
dGVtcy4NCisuXCINCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0DQorLlwi
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucw0KKy5cIiBhcmUgbWV0Og0KKy5cIiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodA0KKy5cIiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
DQorLlwiIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0DQorLlwiICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUNCisuXCIgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4NCisuXCIgMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50
aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlDQorLlwi
ICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVu
dDoNCisuXCIJVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVs
b3BlZCBieSB0aGUgVW5pdmVyc2l0eSBvZg0KKy5cIglDYWxpZm9ybmlhLCBC
ZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4NCisuXCIgNC4gTmVpdGhl
ciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9m
IGl0cyBjb250cmlidXRvcnMNCisuXCIgICAgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNv
ZnR3YXJlDQorLlwiICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLg0KKy5cIg0KKy5cIiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJ
UycnIEFORA0KKy5cIiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUNCisuXCIg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UNCisuXCIgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFDQorLlwiIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMDQorLlwiIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTDQor
LlwiIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQ0KKy5cIiBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVA0KKy5cIiBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZDQorLlwiIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YNCisu
XCIgU1VDSCBEQU1BR0UuDQorLlwiDQorLlwiICRGcmVlQlNEJA0KKy5cIg0K
Ky5EZCBPY3RvYmVyIDI2LCAyMDAxDQorLkR0IE1FTU1FTSAzDQorLk9zDQor
LlNoIE5BTUUNCisuTm0gbWVtbWVtDQorLk5kIGxvY2F0ZSBhIGJpbmFyeSBz
dWJzdHJpbmcgaW4gYSBiaW5hcnkgc3RyaW5nDQorLlNoIExJQlJBUlkNCisu
TGIgbGliYw0KKy5TaCBTWU5PUFNJUw0KKy5JbiBzdHJpbmcuaA0KKy5GdCB2
b2lkICoNCisuRm4gbWVtbWVtICJjb25zdCB2b2lkICpzdHIiICJzaXplX3Qg
c3RybGVuIiAiY29uc3Qgdm9pZCAqc3Vic3RyIiAic2l6ZV90IHN1YmxlbiIN
CisuU2ggREVTQ1JJUFRJT04NCitUaGUNCisuRm4gbWVtbWVtDQorZnVuY3Rp
b24NCitsb2NhdGVzIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mIHRoZSBiaW5h
cnkgc3RyaW5nDQorLkZhIHN1YnN0cg0KK2luIHRoZSBiaW5hcnkgc3RyaW5n
DQorLkZhIHN0ciAuDQorU2luY2UgdGhlDQorLkZuIG1lbW1lbQ0KK2Z1bmN0
aW9uIGlzIGENCisuRngNCitzcGVjaWZpYyBBUEksIGl0IHNob3VsZCBvbmx5
IGJlIHVzZWQgd2hlbiBwb3J0YWJpbGl0eSBpcyBub3QgYSBjb25jZXJuLg0K
Ky5TaCBSRVRVUk4gVkFMVUVTDQorSWYNCisuRmEgc3VibGVuDQoraXMgemVy
bywNCisuRmEgc3RyDQoraXMgcmV0dXJuZWQ7DQoraWYNCisuRmEgc3Vic3Ry
DQorb2NjdXJzIG5vd2hlcmUgaW4NCisuRmEgc3RyICwNCitOVUxMIGlzIHJl
dHVybmVkOw0KK290aGVyd2lzZSBhIHBvaW50ZXIgdG8gdGhlIGZpcnN0IGJ5
dGUgb2YgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YNCisuRmEgc3Vic3RyDQor
aXMgcmV0dXJuZWQuDQorLlNoIFNFRSBBTFNPDQorLlhyIG1lbWNociAzICwN
CisuWHIgc3RyY2FzZXN0ciAzICwNCisuWHIgc3RyY2hyIDMgLA0KKy5YciBz
dHJuc3RyIDMgLA0KKy5YciBzdHJzdHIgMyAsDQorLlhyIHN0cnJjaHIgMw0K
ZGlmZiAtcnVOIHNyYy5vcmlnL2xpYi9saWJjL3N0cmluZy9tZW1tZW0uYyBz
cmMvbGliL2xpYmMvc3RyaW5nL21lbW1lbS5jDQotLS0gc3JjLm9yaWcvbGli
L2xpYmMvc3RyaW5nL21lbW1lbS5jCVRodSBKYW4gIDEgMDM6MDA6MDAgMTk3
MA0KKysrIHNyYy9saWIvbGliYy9zdHJpbmcvbWVtbWVtLmMJRnJpIE9jdCAy
NiAwODoyNzo1NiAyMDAxDQpAQCAtMCwwICsxLDgyIEBADQorLyotDQorICog
Q29weXJpZ2h0IChjKSAyMDAxIEFuZHJldyBMLiBOZXBvcmFkYSA8YW5kckBk
Z2FwLm1pcHQucnU+DQorICogQ29weXJpZ2h0IChjKSAxOTkwLCAxOTkzDQor
ICoJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5p
YS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQorICoNCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQNCisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMNCisgKiBh
cmUgbWV0Og0KKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0DQorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLg0KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0DQor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQ0KKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uDQorICogMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVy
aWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3
YXJlDQorICogICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93
bGVkZ2VtZW50Og0KKyAqCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2Fy
ZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YNCisgKglDYWxpZm9y
bmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4NCisgKiA0LiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycw0KKyAqICAgIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhp
cyBzb2Z0d2FyZQ0KKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLg0KKyAqDQorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJyBBTkQNCisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUNCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQ0KKyAqIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQ0KKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMDQorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMNCisgKiBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikNCisgKiBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVA0KKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkNCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GDQorICogU1VDSCBE
QU1BR0UuDQorICovDQorDQorI2luY2x1ZGUgPHN5cy9jZGVmcy5oPg0KK19f
RkJTRElEKCIkRnJlZUJTRCQiKTsNCisNCisjaW5jbHVkZSA8c3lzL3R5cGVz
Lmg+DQorI2luY2x1ZGUgPGxpbWl0cy5oPg0KKyNpbmNsdWRlIDxzdHJpbmcu
aD4NCisNCisvKg0KKyAqIEZpbmQgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2Yg
Ynl0ZSBzdHJpbmcgcCBpbiBieXRlIHN0cmluZyBzLg0KKyAqDQorICogVGhp
cyBpbXBsZW1lbnRhdGlvbiB1c2VzIHNpbXBsaWZpZWQgQm95ZXItTW9vcmUg
YWxnb3JpdGhtIChvbmx5DQorICogYmFkLWNoYXJhY3RlciBzaGlmdCB0YWJs
ZSBpcyB1c2VkKS4NCisgKiBTZWU6DQorICogQm95ZXIgUi5TLiwgTW9vcmUg
Si5TLiAxOTc3LCAiQSBmYXN0IHN0cmluZyBzZWFyY2hpbmcgYWxnb3JpdGht
IiwNCisgKiBDb21tdW5pY2F0aW9ucyBvZiBBQ00uIDIwOjc2Mi03NzIuDQor
ICovDQordm9pZCAqDQorbWVtbWVtKHMsIHNsZW4sIHAsIHBsZW4pDQorCXJl
Z2lzdGVyIGNvbnN0IHZvaWQJKnMsICpwOw0KKwlzaXplX3QJCQlzbGVuLCBw
bGVuOw0KK3sNCisJcmVnaXN0ZXIgY29uc3QgdV9jaGFyIAkqc3RyLCAqc3Vi
c3RyOw0KKwlyZWdpc3RlciBzaXplX3QJCWksIG1heF9zaGlmdCwgY3Vycl9z
aGlmdDsNCisNCisJc2l6ZV90CQkJc2hpZnRbVUNIQVJfTUFYICsgMV07DQor
DQorCWlmICghcGxlbikNCisJCXJldHVybiAoKHZvaWQgKilzKTsNCisJaWYg
KHBsZW4gPiBzbGVuKQ0KKwkJcmV0dW5yIChOVUxMKTsNCisNCisJc3RyID0g
KGNvbnN0IHVfY2hhciAqKXM7DQorCXN1YnN0ciA9IChjb25zdCB1X2NoYXIg
KilwOw0KKw0KKwlmb3IgKGkgPSAwOyBpIDw9IFVDSEFSX01BWDsgaSsrKSBz
aGlmdFtpXSA9IHBsZW4gKyAxOw0KKwlmb3IgKGkgPSAwOyBpIDwgcGxlbjsg
aSsrKSBzaGlmdFtzdWJzdHJbaV1dID0gcGxlbiAtIGk7DQorDQorCWkgPSAw
Ow0KKwltYXhfc2hpZnQgPSBzbGVuIC0gcGxlbjsNCisJd2hpbGUgKGkgPD0g
bWF4X3NoaWZ0KSB7DQorCQlpZiAoKnN0ciA9PSAqc3Vic3RyICYmICFtZW1j
bXAoc3RyICsgMSwgc3Vic3RyICsgMSwgcGxlbiAtIDEpKQ0KKwkJCXJldHVy
biAoKHZvaWQgKilzdHIpOw0KKwkJY3Vycl9zaGlmdCA9IHNoaWZ0W3N0cltw
bGVuXV07DQorCQlzdHIgKz0gY3Vycl9zaGlmdDsNCisJCWkgKz0gY3Vycl9z
aGlmdDsNCisJfQ0KKwlyZXR1cm4gKE5VTEwpOw0KK30NCg==
--0-2136107261-1004073627=:1864--

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?20011026090237.V1864-200000>