Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 4 Nov 1995 05:00:19 -0800 (PST)
From:      Donald Burr <d_burr@ix.netcom.com>
To:        freebsd-questions@freebsd.org
Subject:   What is the FreeBSD equivalent of "CBAUD"?
Message-ID:  <Pine.BSF.3.91.951104045634.3865A-200000@ncc-1701-d.starfleet.gov>

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-529005433-815490019=:3865
Content-Type: TEXT/PLAIN; charset=US-ASCII

I am trying to port the x48-0.4.0 program to FreeBSD (it is an Hewlett 
Packard 48GX calculator emulator program).  Everything goes smoothly 
until the "serial.c" file.  It claims to be compatible with both BSD, 
SysV, and POSIX style terminal handlers, yet when I compile it, I always 
get the error that "CBAUD" is undefined.

What is CBAUD?  I have access to several workstations from Sun, DEC, etc. 
and they all have it, but my poor FreeBSD box doesn't -- I grepped all 
over the /usr/include tree, and even in the libraries, kernel source, 
etc.  It just isn't there.

For now, I put a "brutal hack" in there (trust me, you'll see it), to at 
least get the file to compile.  And the emulator works, but (as expected) 
none of the serial I/O functions of it are working at this time.  I'd 
LIKE to get them all working, of course.

I've attached the offending source code file in question.  Can anyone 
help?  Thanks!

Donald Burr [d_burr@ix.netcom.com], PO Box 91212, Santa Barbara CA 93190-1212
TEL (805)564-1871 // FAX 564-2315 // WWW http://www.physics.ucsb.edu/~dburr
PGP Public Key available by request (send e-mail) or Public Key Servers.
** Uphold your right to privacy - Use PGP. **
--0-529005433-815490019=:3865
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="/serial.c"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.BSF.3.91.951104050019.3865B@ncc-1701-d.starfleet.gov>
Content-Description: 

LyoNCiAqICBUaGlzIGZpbGUgaXMgcGFydCBvZiB4NDgsIGFuIGVtdWxhdG9y
IG9mIHRoZSBIUC00OHN4IENhbGN1bGF0b3IuDQogKiAgQ29weXJpZ2h0IChD
KSAxOTk0ICBFZGRpZSBDLiBEb3N0ICAoZWNkQGRyZXNzbGVyLmRlKQ0KICoN
CiAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KICogIGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5DQogKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCiAqICAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KICoNCiAqICBU
aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwNCiAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KICog
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUNCiAqICBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KICoNCiAqICBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQ0KICogIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3Qs
IHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQogKiAgRm91bmRhdGlvbiwg
SW5jLiwgNjc1IE1hc3MgQXZlLCBDYW1icmlkZ2UsIE1BIDAyMTM5LCBVU0Eu
DQogKi8NCg0KLyogJExvZzogc2VyaWFsLmMsdiAkDQogKiBSZXZpc2lvbiAx
LjExICAxOTk1LzAxLzExICAxODoyMDowMSAgZWNkDQogKiBtYWpvciB1cGRh
dGUgdG8gc3VwcG9ydCBIUDQ4IEcvR1gNCiAqDQogKiBSZXZpc2lvbiAxLjEw
ICAxOTk0LzEyLzA3ICAyMDoyMDo1MCAgZWNkDQogKiBjb21wbGV0ZSBjaGFu
Z2UgaW4gaGFuZGxpbmcgb2Ygc2VyaWFsIGxpbmUsDQogKiBsaW5lcyBjYW4g
YmUgdHVybmVkIG9mZiBub3cNCiAqDQogKiBSZXZpc2lvbiAxLjEwICAxOTk0
LzEyLzA3ICAyMDoyMDo1MCAgZWNkDQogKiBjb21wbGV0ZSBjaGFuZ2UgaW4g
aGFuZGxpbmcgb2Ygc2VyaWFsIGxpbmUsDQogKiBsaW5lcyBjYW4gYmUgdHVy
bmVkIG9mZiBub3cNCiAqDQogKiBSZXZpc2lvbiAxLjkgIDE5OTQvMTEvMjgg
IDAyOjAwOjUxICBlY2QNCiAqIGFkZGVkIHN1cHBvcnQgZm9yIGRyYXdpbmcg
dGhlIGNvbm5lY3Rpb25zIGluIHRoZSB3aW5kb3cgdGl0bGUNCiAqDQogKiBS
ZXZpc2lvbiAxLjggIDE5OTQvMTEvMDIgIDE0OjQ0OjI4ICBlY2QNCiAqIHN1
cHBvcnQgZm9yIEhQVVggYWRkZWQNCiAqDQogKiBSZXZpc2lvbiAxLjcgIDE5
OTQvMTAvMDYgIDE2OjMwOjA1ICBlY2QNCiAqIG5ldyBpbml0IGZvciBJUklY
DQogKiBhZGRlZCBDUkVBRCBmb3Igc2VyaWFsIGxpbmUNCiAqDQogKiBSZXZp
c2lvbiAxLjYgIDE5OTQvMTAvMDUgIDA4OjQ5OjU5ICBlY2QNCiAqIGNoYW5n
ZWQgcHJpbnRmKCkgdG8gcHJpbnQgdGhlIGNvcnJlY3QgL2Rldi90dHlwPw0K
ICoNCiAqIFJldmlzaW9uIDEuNSAgMTk5NC8wOS8zMCAgMTI6Mzc6MDkgIGVj
ZA0KICogY2hlY2sgaWYgc2VyaWFsIGRldmljZSBpcyBvcGVuZWQgYnkgT1BF
TklPDQogKg0KICogUmV2aXNpb24gMS40ICAxOTk0LzA5LzE4ICAxNToyOToy
MiAgZWNkDQogKiB0dXJuZWQgb2ZmIHVudXNlZCByY3NpZCBtZXNzYWdlDQog
Kg0KICogUmV2aXNpb24gMS4zICAxOTk0LzA5LzEzICAxNjo1NzowMCAgZWNk
DQogKiBjaGFuZ2VkIHRvIHBsYWluIFgxMQ0KICoNCiAqIFJldmlzaW9uIDEu
MiAgMTk5NC8wOC8zMSAgMTg6MjM6MjEgIGVjZA0KICogY2hhbmdlZCBJUiBh
bmQgd2lyZSBkZWZpbml0aW9ucy4NCiAqDQogKiBSZXZpc2lvbiAxLjEgIDE5
OTQvMDgvMjYgIDExOjA5OjAyICBlY2QNCiAqIEluaXRpYWwgcmV2aXNpb24N
CiAqDQogKiAkSWQ6IHNlcmlhbC5jLHYgMS4xMSAxOTk1LzAxLzExIDE4OjIw
OjAxIGVjZCBFeHAgZWNkICQNCiAqLw0KDQoNCiNpbmNsdWRlICJnbG9iYWwu
aCINCg0KI2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8c3RkbGliLmg+
DQojaW5jbHVkZSA8c3RyaW5nLmg+DQojaW5jbHVkZSA8ZmNudGwuaD4NCiNp
bmNsdWRlIDxlcnJuby5oPg0KI2luY2x1ZGUgPHN5cy90aW1lLmg+DQojaWYg
ZGVmaW5lZChMSU5VWCkgfHwgZGVmaW5lZChIUFVYKQ0KI2luY2x1ZGUgPHN5
cy9pb2N0bC5oPg0KI2VuZGlmDQojaW5jbHVkZSA8dW5pc3RkLmg+DQojaW5j
bHVkZSA8dGVybWlvcy5oPg0KI2lmZGVmIFNPTEFSSVMNCiNpbmNsdWRlIDxz
eXMvc3RyZWFtLmg+DQojaW5jbHVkZSA8c3lzL3N0cm9wdHMuaD4NCiNpbmNs
dWRlIDxzeXMvdGVybWlvcy5oPg0KI2VuZGlmDQoNCiNpbmNsdWRlICJocDQ4
LmgiDQojaW5jbHVkZSAiZGV2aWNlLmgiDQojaW5jbHVkZSAiaHA0OF9lbXUu
aCINCiNpbmNsdWRlICJyZXNvdXJjZXMuaCINCiNpbmNsdWRlICJ4NDhfeDEx
LmgiDQoNCiNpZiBkZWZpbmVkKF9fRnJlZUJTRF9fKQkJLyogYnJ1dGFsLCBi
cnV0YWwgaGFjay4uLiAqLw0KI2RlZmluZSBDQkFVRCAweGZmZmYNCiNlbmRp
Zg0KDQpzdGF0aWMgaW50IHdpcmVfZmQ7DQpzdGF0aWMgaW50IGlyX2ZkOw0K
c3RhdGljIGludCB0dHlwOw0KDQpleHRlcm4gaW50IHJlY2VfaW5zdHI7DQoN
CnN0YXRpYyBjaGFyICp3aXJlX25hbWUgPSAoY2hhciAqKTA7DQpzdGF0aWMg
Y2hhciAqaXJfbmFtZSA9IChjaGFyICopMDsNCg0KLyogI2RlZmluZSBERUJV
R19TRVJJQUwgKi8NCg0Kdm9pZA0KI2lmZGVmIF9fRnVuY3Rpb25Qcm90b19f
DQp1cGRhdGVfY29ubmVjdGlvbl9kaXNwbGF5KHZvaWQpDQojZWxzZQ0KdXBk
YXRlX2Nvbm5lY3Rpb25fZGlzcGxheSgpDQojZW5kaWYNCnsNCiAgaWYgKHdp
cmVfZmQgPT0gLTEpDQogICAgew0KICAgICAgaWYgKHdpcmVfbmFtZSkgZnJl
ZSh3aXJlX25hbWUpOw0KICAgICAgd2lyZV9uYW1lID0gKGNoYXIgKikwOw0K
ICAgIH0NCiAgaWYgKGlyX2ZkID09IC0xKQ0KICAgIHsNCiAgICAgIGlmIChp
cl9uYW1lKSBmcmVlKGlyX25hbWUpOw0KICAgICAgaXJfbmFtZSA9IChjaGFy
ICopMDsNCiAgICB9DQogIFNob3dDb25uZWN0aW9ucyh3aXJlX25hbWUsIGly
X25hbWUpOw0KfQ0KDQppbnQNCiNpZmRlZiBfX0Z1bmN0aW9uUHJvdG9fXw0K
c2VyaWFsX2luaXQodm9pZCkNCiNlbHNlDQpzZXJpYWxfaW5pdCgpDQojZW5k
aWYNCnsNCiNpZiBkZWZpbmVkKFNPTEFSSVMpIHx8IGRlZmluZWQgKElSSVgp
DQogIGNoYXIgKnA7DQojZWxzZQ0KICBpbnQgICBjOw0KI2VuZGlmDQogIGlu
dCAgIG47DQogIGNoYXIgIHR0eV9kZXZfbmFtZVsxMjhdOw0KICBzdHJ1Y3Qg
dGVybWlvcyB0dHlidWY7DQoNCiAgd2lyZV9mZCA9IC0xOw0KICB0dHlwID0g
LTE7DQogIGlmICh1c2VUZXJtaW5hbCkNCiAgICB7DQojaWZkZWYgSVJJWA0K
ICAgICAgaWYgKChwID0gX2dldHB0eSgmd2lyZV9mZCwgT19SRFdSIHwgT19F
WENMIHwgT19OREVMQVksIDA2NjYsIDApKSA9PSBOVUxMKQ0KICAgICAgICB7
DQogICAgICAgICAgd2lyZV9mZCA9IC0xOw0KICAgICAgICAgIHR0eXAgPSAt
MTsNCiAgICAgICAgfQ0KICAgICAgZWxzZQ0KICAgICAgICB7DQogICAgICAg
ICAgaWYgKCh0dHlwID0gb3BlbihwLCBPX1JEV1IgfCBPX05ERUxBWSwgMDY2
NikpIDwgMCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgY2xvc2Uo
d2lyZV9mZCk7DQogICAgICAgICAgICAgIHdpcmVfZmQgPSAtMTsNCiAgICAg
ICAgICAgICAgdHR5cCA9IC0xOw0KICAgICAgICAgICAgfQ0KICAgICAgICAg
IGVsc2UNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgaWYgKHZlcmJv
c2UpDQogICAgICAgICAgICAgICAgcHJpbnRmKCIlczogd2lyZSBjb25uZWN0
aW9uIG9uICVzXG4iLCBwcm9nbmFtZSwgcCk7DQogICAgICAgICAgICAgIHdp
cmVfbmFtZSA9IHN0cmR1cChwKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAg
fQ0KI2Vsc2UgIC8qIElSSVggKi8NCiNpZmRlZiBTT0xBUklTDQogICAgICBp
ZiAoKHdpcmVfZmQgPSBvcGVuKCIvZGV2L3B0bXgiLCBPX1JEV1IgfCBPX05P
TkJMT0NLLCAwNjY2KSkgPj0gMCkNCiAgICAgICAgew0KICAgICAgICAgIGdy
YW50cHQod2lyZV9mZCk7DQogICAgICAgICAgdW5sb2NrcHQod2lyZV9mZCk7
DQogICAgICAgICAgcCA9IHB0c25hbWUod2lyZV9mZCk7DQogICAgICAgICAg
c3RyY3B5KHR0eV9kZXZfbmFtZSwgcCk7DQogICAgICAgICAgaWYgKCh0dHlw
ID0gb3Blbih0dHlfZGV2X25hbWUsIE9fUkRXUiB8IE9fTkRFTEFZLCAwNjY2
KSkgPj0gMCkNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgaW9jdGwo
dHR5cCwgSV9QVVNILCAicHRlbSIpOw0KICAgICAgICAgICAgICBpb2N0bCh0
dHlwLCBJX1BVU0gsICJsZHRlcm0iKTsNCiAgICAgICAgICAgICAgaWYgKHZl
cmJvc2UpDQogICAgICAgICAgICAgICAgcHJpbnRmKCIlczogd2lyZSBjb25u
ZWN0aW9uIG9uICVzXG4iLCBwcm9nbmFtZSwNCiAgICAgICAgICAgICAgICAg
ICAgICB0dHlfZGV2X25hbWUpOw0KICAgICAgICAgICAgICB3aXJlX25hbWUg
PSBzdHJkdXAodHR5X2Rldl9uYW1lKTsNCiAgICAgICAgICAgIH0NCiAgICAg
ICAgfQ0KI2Vsc2UgIC8qIFNPTEFSSVMgKi8NCiNpZmRlZiBMSU5VWA0KICAg
ICAgYyA9ICdwJzsNCiAgICAgIGRvDQogICAgICAgIHsNCiAgICAgICAgICBm
b3IgKG4gPSAwOyBuIDwgMTY7IG4rKykNCiAgICAgICAgICAgIHsNCiAgICAg
ICAgICAgICAgc3ByaW50Zih0dHlfZGV2X25hbWUsICIvZGV2L3B0eSVjJXgi
LCBjLCBuKTsNCiAgICAgICAgICAgICAgaWYgKCh3aXJlX2ZkID0gb3Blbih0
dHlfZGV2X25hbWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgT19SRFdSIHwgT19FWENMIHwgT19OREVMQVksIDA2NjYpKSA+PSAwKQ0K
ICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgIHR0eXAgPSB3
aXJlX2ZkOw0KICAgICAgICAgICAgICAgICAgc3ByaW50Zih0dHlfZGV2X25h
bWUsICIvZGV2L3R0eSVjJXgiLCBjLCBuKTsNCiAgICAgICAgICAgICAgICAg
IGlmICh2ZXJib3NlKQ0KICAgICAgICAgICAgICAgICAgICBwcmludGYoIiVz
OiB3aXJlIGNvbm5lY3Rpb24gb24gJXNcbiIsIHByb2duYW1lLA0KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdHR5X2Rldl9uYW1lKTsNCiAgICAgICAg
ICAgICAgICAgIHdpcmVfbmFtZSA9IHN0cmR1cCh0dHlfZGV2X25hbWUpOw0K
ICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgICAgfQ0K
ICAgICAgICAgICAgfQ0KICAgICAgICAgIGMrKzsNCiAgICAgICAgfQ0KICAg
ICAgd2hpbGUgKCh3aXJlX2ZkIDwgMCkgJiYgKGVycm5vICE9IEVOT0VOVCkp
Ow0KI2Vsc2UgIC8qIExJTlVYICovDQogICAgICAvKg0KICAgICAgICogSGVy
ZSB3ZSBnbyBmb3IgU1VOT1MsIEhQVVgNCiAgICAgICAqLw0KICAgICAgYyA9
ICdwJzsNCiAgICAgIGRvDQogICAgICAgIHsNCiAgICAgICAgICBmb3IgKG4g
PSAwOyBuIDwgMTY7IG4rKykNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAg
ICAgc3ByaW50Zih0dHlfZGV2X25hbWUsICIvZGV2L3B0eXAleCIsIG4pOw0K
ICAgICAgICAgICAgICBpZiAoKHdpcmVfZmQgPSBvcGVuKHR0eV9kZXZfbmFt
ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPX1JEV1Ig
fCBPX0VYQ0wgfCBPX05ERUxBWSwgMDY2NikpID49IDApDQogICAgICAgICAg
ICAgICAgew0KICAgICAgICAgICAgICAgICAgc3ByaW50Zih0dHlfZGV2X25h
bWUsICIvZGV2L3R0eSVjJXgiLCBjLCBuKTsNCiAgICAgICAgICAgICAgICAg
IGlmICgodHR5cCA9IG9wZW4odHR5X2Rldl9uYW1lLCBPX1JEV1IgfCBPX05E
RUxBWSwgMDY2NikpIDwgMCkNCiAgICAgICAgICAgICAgICAgICAgew0KICAg
ICAgICAgICAgICAgICAgICAgIHdpcmVfZmQgPSAtMTsNCiAgICAgICAgICAg
ICAgICAgICAgICB0dHlwID0gLTE7DQogICAgICAgICAgICAgICAgICAgIH0N
CiAgICAgICAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgICAgICAgICAg
ew0KICAgICAgICAgICAgICAgICAgICAgIGlmICh2ZXJib3NlKQ0KICAgICAg
ICAgICAgICAgICAgICAgICAgcHJpbnRmKCIlczogd2lyZSBjb25uZWN0aW9u
IG9uICVzXG4iLCBwcm9nbmFtZSwNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB0dHlfZGV2X25hbWUpOw0KICAgICAgICAgICAgICAgICAgICAg
IHdpcmVfbmFtZSA9IHN0cmR1cCh0dHlfZGV2X25hbWUpOw0KICAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICAgICAgICAgICAgICB9DQog
ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgIGMr
KzsNCiAgICAgICAgfQ0KICAgICAgd2hpbGUgKCh3aXJlX2ZkIDwgMCkgJiYg
KGVycm5vICE9IEVOT0VOVCkpOw0KI2VuZGlmIC8qIExJTlVYICovDQojZW5k
aWYgLyogU09MQVJJUyAqLw0KI2VuZGlmIC8qIElSSVggKi8NCiAgICB9DQoN
CiAgaWYgKHR0eXAgPj0gMCkNCiAgICB7DQojaWYgZGVmaW5lZChTVU5PUykg
fHwgZGVmaW5lZChIUFVYKQ0KICAgICAgaWYgKHRjZ2V0YXR0cih0dHlwLCAm
dHR5YnVmKSA8IDApDQojZWxzZQ0KICAgICAgaWYgKGlvY3RsKHR0eXAsIFRD
R0VUUywgKGNoYXIgKikmdHR5YnVmKSA8IDApDQojZW5kaWYNCiAgICAgICAg
ew0KICAgICAgICAgIGlmICghcXVpZXQpDQogICAgICAgICAgICBmcHJpbnRm
KHN0ZGVyciwgIiVzOiBpb2N0bCh3aXJlLCBUQ0dFVFMpIGZhaWxlZCwgZXJy
bm8gPSAlZFxuIiwNCiAgICAgICAgICAgICAgICAgICAgcHJvZ25hbWUsIGVy
cm5vKTsNCiAgICAgICAgICB3aXJlX2ZkID0gLTE7DQogICAgICAgICAgdHR5
cCA9IC0xOw0KICAgICAgICB9DQogICAgfQ0KDQogIHR0eWJ1Zi5jX2xmbGFn
ID0gMDsNCiAgdHR5YnVmLmNfaWZsYWcgPSAwOw0KICB0dHlidWYuY19vZmxh
ZyA9IDA7DQogIHR0eWJ1Zi5jX2NmbGFnID0gQjk2MDAgfCBDUzggfCBDTE9D
QUwgfCBDUkVBRDsNCiAgZm9yIChuID0gMDsgbiA8IE5DQ1M7IG4rKykNCiAg
ICB0dHlidWYuY19jY1tuXSA9IDA7DQogIHR0eWJ1Zi5jX2NjW1ZUSU1FXSA9
IDA7DQogIHR0eWJ1Zi5jX2NjW1ZNSU5dID0gMTsNCg0KICBpZiAodHR5cCA+
PSAwKQ0KICAgIHsNCiNpZiBkZWZpbmVkKFNVTk9TKSB8fCBkZWZpbmVkIChI
UFVYKQ0KICAgICAgaWYgKHRjc2V0YXR0cih0dHlwLCBUQ1NBTk9XLCAmdHR5
YnVmKSA8IDApDQojZWxzZQ0KICAgICAgaWYgKGlvY3RsKHR0eXAsIFRDU0VU
UywgKGNoYXIgKikmdHR5YnVmKSA8IDApDQojZW5kaWYNCiAgICAgICAgew0K
ICAgICAgICAgIGlmICghcXVpZXQpDQogICAgICAgICAgICBmcHJpbnRmKHN0
ZGVyciwgIiVzOiBpb2N0bCh3aXJlLCBUQ1NFVFMpIGZhaWxlZCwgZXJybm8g
PSAlZFxuIiwNCiAgICAgICAgICAgICAgICAgICAgcHJvZ25hbWUsIGVycm5v
KTsNCiAgICAgICAgICB3aXJlX2ZkID0gLTE7DQogICAgICAgICAgdHR5cCA9
IC0xOw0KICAgICAgICB9DQogICAgfQ0KDQogIGlyX2ZkID0gLTE7DQogIGlm
ICh1c2VTZXJpYWwpDQogICAgew0KICAgICAgc3ByaW50Zih0dHlfZGV2X25h
bWUsIHNlcmlhbExpbmUpOw0KICAgICAgaWYgKChpcl9mZCA9IG9wZW4odHR5
X2Rldl9uYW1lLCBPX1JEV1IgfCBPX05ERUxBWSkpID49IDApDQogICAgICAg
IHsNCiAgICAgICAgICBpZiAodmVyYm9zZSkNCiAgICAgICAgICAgIHByaW50
ZigiJXM6IElSIGNvbm5lY3Rpb24gb24gJXNcbiIsIHByb2duYW1lLCB0dHlf
ZGV2X25hbWUpOw0KICAgICAgICAgIGlyX25hbWUgPSBzdHJkdXAodHR5X2Rl
dl9uYW1lKTsNCgl9DQogICAgfQ0KDQogIGlmIChpcl9mZCA+PSAwKQ0KICAg
IHsNCiNpZiBkZWZpbmVkKFNVTk9TKSB8fCBkZWZpbmVkIChIUFVYKQ0KICAg
ICAgaWYgKHRjZ2V0YXR0cihpcl9mZCwgJnR0eWJ1ZikgPCAwKQ0KI2Vsc2UN
CiAgICAgIGlmIChpb2N0bChpcl9mZCwgVENHRVRTLCAoY2hhciAqKSZ0dHli
dWYpIDwgMCkNCiNlbmRpZg0KICAgICAgICB7DQogICAgICAgICAgaWYgKCFx
dWlldCkNCiAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJXM6IGlvY3Rs
KElSLCBUQ0dFVFMpIGZhaWxlZCwgZXJybm8gPSAlZFxuIiwNCiAgICAgICAg
ICAgICAgICAgICAgcHJvZ25hbWUsIGVycm5vKTsNCiAgICAgICAgICBpcl9m
ZCA9IC0xOw0KICAgICAgICB9DQogICAgfQ0KDQogIHR0eWJ1Zi5jX2xmbGFn
ID0gMDsNCiAgdHR5YnVmLmNfaWZsYWcgPSAwOw0KICB0dHlidWYuY19vZmxh
ZyA9IDA7DQogIHR0eWJ1Zi5jX2NmbGFnID0gQjk2MDAgfCBDUzggfCBDTE9D
QUwgfCBDUkVBRDsNCiAgZm9yIChuID0gMDsgbiA8IE5DQ1M7IG4rKykNCiAg
ICB0dHlidWYuY19jY1tuXSA9IDA7DQogIHR0eWJ1Zi5jX2NjW1ZUSU1FXSA9
IDA7DQogIHR0eWJ1Zi5jX2NjW1ZNSU5dID0gMTsNCg0KICBpZiAoaXJfZmQg
Pj0gMCkNCiAgICB7DQojaWYgZGVmaW5lZChTVU5PUykgfHwgZGVmaW5lZChI
UFVYKQ0KICAgICAgaWYgKHRjc2V0YXR0cihpcl9mZCwgVENTQU5PVywgJnR0
eWJ1ZikgPCAwKQ0KI2Vsc2UNCiAgICAgIGlmIChpb2N0bChpcl9mZCwgVENT
RVRTLCAoY2hhciAqKSZ0dHlidWYpIDwgMCkNCiNlbmRpZg0KICAgICAgICB7
DQogICAgICAgICAgaWYgKCFxdWlldCkNCiAgICAgICAgICAgIGZwcmludGYo
c3RkZXJyLCAiJXM6IGlvY3RsKElSLCBUQ1NFVFMpIGZhaWxlZCwgZXJybm8g
PSAlZFxuIiwNCiAgICAgICAgICAgICAgICAgICAgcHJvZ25hbWUsIGVycm5v
KTsNCiAgICAgICAgICBpcl9mZCA9IC0xOw0KICAgICAgICB9DQogICAgfQ0K
ICB1cGRhdGVfY29ubmVjdGlvbl9kaXNwbGF5KCk7DQogIHJldHVybiAxOw0K
fQ0KDQp2b2lkDQojaWZkZWYgX19GdW5jdGlvblByb3RvX18NCnNlcmlhbF9i
YXVkKGludCBiYXVkKQ0KI2Vsc2UNCnNlcmlhbF9iYXVkKGJhdWQpDQppbnQg
YmF1ZDsNCiNlbmRpZg0Kew0KICBpbnQgZXJyb3IgPSAwOw0KICBzdHJ1Y3Qg
dGVybWlvcyB0dHlidWY7DQoNCiAgaWYgKGlyX2ZkID49IDApDQogICAgew0K
I2lmIGRlZmluZWQoU1VOT1MpIHx8IGRlZmluZWQgKEhQVVgpDQogICAgICBp
ZiAodGNnZXRhdHRyKGlyX2ZkLCAmdHR5YnVmKSA8IDApDQojZWxzZQ0KICAg
ICAgaWYgKGlvY3RsKGlyX2ZkLCBUQ0dFVFMsIChjaGFyICopJnR0eWJ1Zikg
PCAwKQ0KI2VuZGlmDQogICAgICAgIHsNCiAgICAgICAgICBpZiAoIXF1aWV0
KQ0KICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICIlczogaW9jdGwoSVIs
ICBUQ0dFVFMpIGZhaWxlZCwgZXJybm8gPSAlZFxuIiwNCiAgICAgICAgICAg
ICAgICAgICAgcHJvZ25hbWUsIGVycm5vKTsNCiAgICAgICAgICBpcl9mZCA9
IC0xOw0KICAgICAgICAgIGVycm9yID0gMTsNCiAgICAgICAgfQ0KICAgIH0N
Cg0KICB0dHlidWYuY19jZmxhZyAmPSB+Q0JBVUQ7DQoNCiAgYmF1ZCAmPSAw
eDc7DQogIHN3aXRjaCAoYmF1ZCkNCiAgICB7DQogICAgICBjYXNlIDA6CS8q
IDEyMDAgKi8NCiAgICAgICAgdHR5YnVmLmNfY2ZsYWcgfD0gQjEyMDA7DQog
ICAgICAgIGJyZWFrOw0KICAgICAgY2FzZSAxOgkvKiAxOTIwICovDQojaWZk
ZWYgQjE5MjANCiAgICAgICAgdHR5YnVmLmNfY2ZsYWcgfD0gQjE5MjA7DQoj
ZW5kaWYNCiAgICAgICAgYnJlYWs7DQogICAgICBjYXNlIDI6CS8qIDI0MDAg
Ki8NCiAgICAgICAgdHR5YnVmLmNfY2ZsYWcgfD0gQjI0MDA7DQogICAgICAg
IGJyZWFrOw0KICAgICAgY2FzZSAzOgkvKiAzODQwICovDQojaWZkZWYgQjM4
NDANCiAgICAgICAgdHR5YnVmLmNfY2ZsYWcgfD0gQjM4NDA7DQojZW5kaWYN
CiAgICAgICAgYnJlYWs7DQogICAgICBjYXNlIDQ6CS8qIDQ4MDAgKi8NCiAg
ICAgICAgdHR5YnVmLmNfY2ZsYWcgfD0gQjQ4MDA7DQogICAgICAgIGJyZWFr
Ow0KICAgICAgY2FzZSA1OgkvKiA3NjgwICovDQojaWZkZWYgQjc2ODANCiAg
ICAgICAgdHR5YnVmLmNfY2ZsYWcgfD0gQjc2ODA7DQojZW5kaWYNCiAgICAg
ICAgYnJlYWs7DQogICAgICBjYXNlIDY6CS8qIDk2MDAgKi8NCiAgICAgICAg
dHR5YnVmLmNfY2ZsYWcgfD0gQjk2MDA7DQogICAgICAgIGJyZWFrOw0KICAg
ICAgY2FzZSA3OgkvKiAxNTM2MCAqLw0KI2lmZGVmIEIxNTM2MA0KICAgICAg
ICB0dHlidWYuY19jZmxhZyB8PSBCMTUzNjA7DQojZW5kaWYNCiAgICAgICAg
YnJlYWs7DQogICAgfQ0KDQogIGlmICgoaXJfZmQgPj0gMCkgJiYgKCh0dHli
dWYuY19jZmxhZyAmIENCQVVEKSA9PSAwKSkNCiAgICB7DQogICAgICBpZiAo
IXF1aWV0KQ0KICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIiVzOiBjYW5cJ3Qg
c2V0IGJhdWQgcmF0ZSwgdXNpbmcgOTYwMFxuIiwgcHJvZ25hbWUpOw0KICAg
ICAgdHR5YnVmLmNfY2ZsYWcgfD0gQjk2MDA7DQogICAgfQ0KDQogIGlmIChp
cl9mZCA+PSAwKQ0KICAgIHsNCiNpZiBkZWZpbmVkKFNVTk9TKSB8fCBkZWZp
bmVkKEhQVVgpDQogICAgICBpZiAodGNzZXRhdHRyKGlyX2ZkLCBUQ1NBTk9X
LCAmdHR5YnVmKSA8IDApDQojZWxzZQ0KICAgICAgaWYgKGlvY3RsKGlyX2Zk
LCBUQ1NFVFMsIChjaGFyICopJnR0eWJ1ZikgPCAwKQ0KI2VuZGlmDQogICAg
ICAgIHsNCiAgICAgICAgICBpZiAoIXF1aWV0KQ0KICAgICAgICAgICAgZnBy
aW50ZihzdGRlcnIsICIlczogaW9jdGwoSVIsICBUQ1NFVFMpIGZhaWxlZCwg
ZXJybm8gPSAlZFxuIiwNCiAgICAgICAgICAgICAgICAgICAgcHJvZ25hbWUs
IGVycm5vKTsNCiAgICAgICAgICBpcl9mZCA9IC0xOw0KICAgICAgICAgIGVy
cm9yID0gMTsNCiAgICAgICAgfQ0KICAgIH0NCg0KICBpZiAodHR5cCA+PSAw
KQ0KICAgIHsNCiNpZiBkZWZpbmVkKFNVTk9TKSB8fCBkZWZpbmVkKEhQVVgp
DQogICAgICBpZiAodGNnZXRhdHRyKHR0eXAsICZ0dHlidWYpIDwgMCkNCiNl
bHNlDQogICAgICBpZiAoaW9jdGwodHR5cCwgVENHRVRTLCAoY2hhciAqKSZ0
dHlidWYpIDwgMCkNCiNlbmRpZg0KICAgICAgICB7DQogICAgICAgICAgaWYg
KCFxdWlldCkNCiAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJXM6IGlv
Y3RsKHdpcmUsIFRDR0VUUykgZmFpbGVkLCBlcnJubyA9ICVkXG4iLA0KICAg
ICAgICAgICAgICAgICAgICBwcm9nbmFtZSwgZXJybm8pOw0KICAgICAgICAg
IHdpcmVfZmQgPSAtMTsNCiAgICAgICAgICB0dHlwID0gLTE7DQogICAgICAg
ICAgZXJyb3IgPSAxOw0KICAgICAgICB9DQogICAgfQ0KDQogIHR0eWJ1Zi5j
X2NmbGFnICY9IH5DQkFVRDsNCg0KICBiYXVkICY9IDB4NzsNCiAgc3dpdGNo
IChiYXVkKQ0KICAgIHsNCiAgICAgIGNhc2UgMDoJLyogMTIwMCAqLw0KICAg
ICAgICB0dHlidWYuY19jZmxhZyB8PSBCMTIwMDsNCiAgICAgICAgYnJlYWs7
DQogICAgICBjYXNlIDE6CS8qIDE5MjAgKi8NCiNpZmRlZiBCMTkyMA0KICAg
ICAgICB0dHlidWYuY19jZmxhZyB8PSBCMTkyMDsNCiNlbmRpZg0KICAgICAg
ICBicmVhazsNCiAgICAgIGNhc2UgMjoJLyogMjQwMCAqLw0KICAgICAgICB0
dHlidWYuY19jZmxhZyB8PSBCMjQwMDsNCiAgICAgICAgYnJlYWs7DQogICAg
ICBjYXNlIDM6CS8qIDM4NDAgKi8NCiNpZmRlZiBCMzg0MA0KICAgICAgICB0
dHlidWYuY19jZmxhZyB8PSBCMzg0MDsNCiNlbmRpZg0KICAgICAgICBicmVh
azsNCiAgICAgIGNhc2UgNDoJLyogNDgwMCAqLw0KICAgICAgICB0dHlidWYu
Y19jZmxhZyB8PSBCNDgwMDsNCiAgICAgICAgYnJlYWs7DQogICAgICBjYXNl
IDU6CS8qIDc2ODAgKi8NCiNpZmRlZiBCNzY4MA0KICAgICAgICB0dHlidWYu
Y19jZmxhZyB8PSBCNzY4MDsNCiNlbmRpZg0KICAgICAgICBicmVhazsNCiAg
ICAgIGNhc2UgNjoJLyogOTYwMCAqLw0KICAgICAgICB0dHlidWYuY19jZmxh
ZyB8PSBCOTYwMDsNCiAgICAgICAgYnJlYWs7DQogICAgICBjYXNlIDc6CS8q
IDE1MzYwICovDQojaWZkZWYgQjE1MzYwDQogICAgICAgIHR0eWJ1Zi5jX2Nm
bGFnIHw9IEIxNTM2MDsNCiNlbmRpZg0KICAgICAgICBicmVhazsNCiAgICB9
DQoNCiAgaWYgKCh0dHlwID49IDApICYmICgodHR5YnVmLmNfY2ZsYWcgJiBD
QkFVRCkgPT0gMCkpDQogICAgew0KICAgICAgaWYgKCFxdWlldCkNCiAgICAg
ICAgZnByaW50ZihzdGRlcnIsICIlczogY2FuXCd0IHNldCBiYXVkIHJhdGUs
IHVzaW5nIDk2MDBcbiIsIHByb2duYW1lKTsNCiAgICAgIHR0eWJ1Zi5jX2Nm
bGFnIHw9IEI5NjAwOw0KICAgIH0NCg0KICBpZiAodHR5cCA+PSAwKQ0KICAg
IHsNCiNpZiBkZWZpbmVkKFNVTk9TKSB8fCBkZWZpbmVkKEhQVVgpDQogICAg
ICBpZiAodGNzZXRhdHRyKHR0eXAsIFRDU0FOT1csICZ0dHlidWYpIDwgMCkN
CiNlbHNlDQogICAgICBpZiAoaW9jdGwodHR5cCwgVENTRVRTLCAoY2hhciAq
KSZ0dHlidWYpIDwgMCkNCiNlbmRpZg0KICAgICAgICB7DQogICAgICAgICAg
aWYgKCFxdWlldCkNCiAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiJXM6
IGlvY3RsKHdpcmUsIFRDU0VUUykgZmFpbGVkLCBlcnJubyA9ICVkXG4iLA0K
ICAgICAgICAgICAgICAgICAgICBwcm9nbmFtZSwgZXJybm8pOw0KICAgICAg
ICAgIHdpcmVfZmQgPSAtMTsNCiAgICAgICAgICB0dHlwID0gLTE7DQogICAg
ICAgICAgZXJyb3IgPSAxOw0KICAgICAgICB9DQogICAgfQ0KICBpZiAoZXJy
b3IpDQogICAgdXBkYXRlX2Nvbm5lY3Rpb25fZGlzcGxheSgpOw0KfQ0KDQoN
CnZvaWQNCiNpZmRlZiBfX0Z1bmN0aW9uUHJvdG9fXw0KdHJhbnNtaXRfY2hh
cih2b2lkKQ0KI2Vsc2UNCnRyYW5zbWl0X2NoYXIoKQ0KI2VuZGlmDQp7DQoj
aWZkZWYgREVCVUdfU0VSSUFMeA0KICBmcHJpbnRmKHN0ZGVyciwgIlhNVCAl
c1xuIiwgKHNhdHVybi5pcl9jdHJsICYgMHgwNCkgPyAiSVIiIDogIndpcmUi
KTsNCiNlbmRpZg0KDQogIGlmIChzYXR1cm4uaXJfY3RybCAmIDB4MDQpIHsN
CiAgICBpZiAoaXJfZmQgPT0gLTEpIHsNCiAgICAgIHNhdHVybi50Y3MgJj0g
MHgwZTsNCiAgICAgIGlmIChzYXR1cm4uaW9fY3RybCAmIDB4MDQpIHsNCiAg
ICAgICAgZG9faW50ZXJ1cHQoKTsNCiAgICAgIH0NCiAgICAgIHJldHVybjsN
CiAgICB9DQogIH0gZWxzZSB7DQogICAgaWYgKHdpcmVfZmQgPT0gLTEpIHsN
CiAgICAgIHNhdHVybi50Y3MgJj0gMHgwZTsNCiAgICAgIGlmIChzYXR1cm4u
aW9fY3RybCAmIDB4MDQpIHsNCiAgICAgICAgZG9faW50ZXJ1cHQoKTsNCiAg
ICAgIH0NCiAgICAgIHJldHVybjsNCiAgICB9DQogIH0NCg0KI2lmZGVmIERF
QlVHX1NFUklBTA0KICBpZiAoaXNwcmludChzYXR1cm4udGJyKSkgew0KICAg
IGZwcmludGYoc3RkZXJyLCAiLT4gXCclY1wnXG4iLCBzYXR1cm4udGJyKTsN
CiAgfSBlbHNlIHsNCiAgICBmcHJpbnRmKHN0ZGVyciwgIi0+ICV4XG4iLCBz
YXR1cm4udGJyKTsNCiAgfQ0KI2VuZGlmDQogIGlmIChzYXR1cm4uaXJfY3Ry
bCAmIDB4MDQpIHsNCiAgICBpZiAod3JpdGUoaXJfZmQsICZzYXR1cm4udGJy
LCAxKSA9PSAxKSB7DQogICAgICBzYXR1cm4udGNzICY9IDB4MGU7DQogICAg
ICBpZiAoc2F0dXJuLmlvX2N0cmwgJiAweDA0KSB7DQogICAgICAgIGRvX2lu
dGVydXB0KCk7DQogICAgICB9DQogICAgfSBlbHNlIHsNCiAgICAgIGlmIChl
cnJubyAhPSBFQUdBSU4pIHsNCiAgICAgICAgZnByaW50ZihzdGRlcnIsICIl
czogc2VyaWFsIHdyaXRlIGVycm9yOiAlZFxuIiwgcHJvZ25hbWUsIGVycm5v
KTsNCiAgICAgIH0NCiAgICAgIHNhdHVybi50Y3MgJj0gMHgwZTsNCiAgICAg
IGlmIChzYXR1cm4uaW9fY3RybCAmIDB4MDQpIHsNCiAgICAgICAgZG9faW50
ZXJ1cHQoKTsNCiAgICAgIH0NCiAgICB9DQogIH0gZWxzZSB7DQogICAgaWYg
KHdyaXRlKHdpcmVfZmQsICZzYXR1cm4udGJyLCAxKSA9PSAxKSB7DQogICAg
ICBzYXR1cm4udGNzICY9IDB4MGU7DQogICAgICBpZiAoc2F0dXJuLmlvX2N0
cmwgJiAweDA0KSB7DQogICAgICAgIGRvX2ludGVydXB0KCk7DQogICAgICB9
DQogICAgfSBlbHNlIHsNCiAgICAgIGlmIChlcnJubyAhPSBFQUdBSU4pIHsN
CiAgICAgICAgaWYgKCFxdWlldCkNCiAgICAgICAgICBmcHJpbnRmKHN0ZGVy
ciwgIiVzOiBzZXJpYWwgd3JpdGUgZXJyb3I6ICVkXG4iLCBwcm9nbmFtZSwg
ZXJybm8pOw0KICAgICAgfQ0KICAgICAgc2F0dXJuLnRjcyAmPSAweDBlOw0K
ICAgICAgaWYgKHNhdHVybi5pb19jdHJsICYgMHgwNCkgew0KICAgICAgICBk
b19pbnRlcnVwdCgpOw0KICAgICAgfQ0KICAgIH0NCiAgfQ0KfQ0KDQojZGVm
aW5lIE5SX0JVRkZFUiAyNTYNCg0Kdm9pZA0KI2lmZGVmIF9fRnVuY3Rpb25Q
cm90b19fDQpyZWNlaXZlX2NoYXIoKQ0KI2Vsc2UNCnJlY2VpdmVfY2hhcigp
DQojZW5kaWYNCnsNCiAgc3RydWN0IHRpbWV2YWwgdG91dDsNCiAgZmRfc2V0
IHJmZHM7DQogIGludCBuZmQ7DQogIHN0YXRpYyB1bnNpZ25lZCBjaGFyIGJ1
ZltOUl9CVUZGRVIgKyAxXTsNCiAgc3RhdGljIGludCBucmQgPSAwLCBicCA9
IDA7DQoNCiNpZmRlZiBERUJVR19TRVJJQUx4DQogIGZwcmludGYoc3RkZXJy
LCAiUkNWICVzXG4iLCAoc2F0dXJuLmlyX2N0cmwgJiAweDA0KSA/ICJJUiIg
OiAid2lyZSIpOw0KI2VuZGlmDQoNCiAgcmVjZV9pbnN0ciA9IDA7DQoNCiAg
aWYgKHNhdHVybi5pcl9jdHJsICYgMHgwNCkgew0KICAgIGlmIChpcl9mZCA9
PSAtMSkNCiAgICAgIHJldHVybjsNCiAgfSBlbHNlIHsNCiAgICBpZiAod2ly
ZV9mZCA9PSAtMSkNCiAgICAgIHJldHVybjsNCiAgfQ0KDQogIGlmIChzYXR1
cm4ucmNzICYgMHgwMSkgew0KICAgIHJldHVybjsNCiAgfQ0KDQogIGlmIChu
cmQgPT0gMCkgew0KICAgIHRvdXQudHZfc2VjID0gMDsNCiAgICB0b3V0LnR2
X3VzZWMgPSAwOw0KICAgIEZEX1pFUk8oJnJmZHMpOw0KICAgIGlmIChzYXR1
cm4uaXJfY3RybCAmIDB4MDQpIHsNCiAgICAgIEZEX1NFVChpcl9mZCwgJnJm
ZHMpOw0KICAgICAgbmZkID0gaXJfZmQgKyAxOw0KICAgIH0gZWxzZSB7DQog
ICAgICBGRF9TRVQod2lyZV9mZCwgJnJmZHMpOw0KICAgICAgbmZkID0gd2ly
ZV9mZCArIDE7DQogICAgfQ0KICAgIGlmICgobmZkID0gc2VsZWN0KG5mZCwg
JnJmZHMsIChmZF9zZXQgKikwLCAoZmRfc2V0ICopMCwgJnRvdXQpKSA+IDAp
IHsNCiNpZmRlZiBERUJVR19TRVJJQUwNCiAgICAgIGZwcmludGYoc3RkZXJy
LCAic2VsZWN0ID0gJWRcbiIsIG5mZCk7DQojZW5kaWYNCiAgICAgIGlmIChz
YXR1cm4uaXJfY3RybCAmIDB4MDQpIHsNCiAgICAgICAgaWYgKEZEX0lTU0VU
KGlyX2ZkLCAmcmZkcykpIHsNCiAgICAgICAgICBucmQgPSByZWFkKGlyX2Zk
LCBidWYsIE5SX0JVRkZFUik7DQogICAgICAgICAgaWYgKG5yZCA8IDApIHsN
CiAgICAgICAgICAgIG5yZCA9IDA7DQogICAgICAgICAgICByZXR1cm47DQog
ICAgICAgICAgfQ0KICAgICAgICAgIGJwID0gMDsNCiAgICAgICAgfSBlbHNl
IHsNCiAgICAgICAgICByZXR1cm47DQogICAgICAgIH0NCiAgICAgIH0gZWxz
ZSB7DQogICAgICAgIGlmIChGRF9JU1NFVCh3aXJlX2ZkLCAmcmZkcykpIHsN
CiAgICAgICAgICBucmQgPSByZWFkKHdpcmVfZmQsIGJ1ZiwgTlJfQlVGRkVS
KTsNCiAgICAgICAgICBpZiAobnJkIDwgMCkgew0KICAgICAgICAgICAgbnJk
ID0gMDsNCiAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICB9DQogICAg
ICAgICAgYnAgPSAwOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgIHJl
dHVybjsNCiAgICAgICAgfQ0KICAgICAgfQ0KICAgIH0gZWxzZSB7DQogICAg
ICByZXR1cm47DQogICAgfQ0KICB9DQogIGlmIChucmQgPT0gMCkgew0KICAg
IHJldHVybjsNCiAgfQ0KICBpZiAoIShzYXR1cm4uaW9fY3RybCAmIDB4MDgp
KSB7DQogICAgbnJkID0gMDsNCiAgICByZXR1cm47DQogIH0NCiAgc2F0dXJu
LnJiciA9IGJ1ZlticCsrXTsNCiAgbnJkLS07DQogIHNhdHVybi5yY3MgfD0g
MHgwMTsNCiAgaWYgKHNhdHVybi5pb19jdHJsICYgMHgwMikgew0KICAgIGRv
X2ludGVydXB0KCk7DQogIH0NCn0NCg0K
--0-529005433-815490019=:3865--



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