delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/06/03/19:36:54

Message-ID: <3575DDC1.842B1DC3@gbrmpa.gov.au>
Date: Thu, 04 Jun 1998 09:35:29 +1000
From: Leath Muller <leathm AT gbrmpa DOT gov DOT au>
Organization: Great Barrier Reef Marine Park Authority
MIME-Version: 1.0
To: "djgpp AT delorie DOT com" <djgpp AT delorie DOT com>
Subject: Weird problem...

This is a multi-part message in MIME format.
--------------964AD0D400BE9723048EAE7C
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Attached is source code to load in from a file a set of integers
specifying information for a circle (x, y, radius) and output to
a file a set of integer points representing the appropriate pixels
set on screen for the rendering of that circle.

The points are clipped to a window (-200,-200) - (200,200) (brute
forcefully) and all input and output coordinates are integers...

The problem: It compiles and works _fine_ on gcc for DOS, Borland
C 4.52, and Visual C 5.0 (service packs installed). I get exactly
the output expected.

It fails on gcc for Solaris, and gcc for a Dec! The output is
just rectangles...

Could somebody please compile this code on their setup and let me
know the result... (you can simply look at the output and pick up
whether the code is drawing rectangles or circles - or alternatively
write to me and I will send you a viewer for Win32).

Solaris: (gcc -v):	gcc 2.8.1
DOS: (gcc -v):		gcc 2.7.2.1

Which compiler is right????

Leathal.
--------------964AD0D400BE9723048EAE7C
Content-Type: application/x-unknown-content-type-c_auto_file; name="mid_crcl.c"
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="mid_crcl.c"

LyogVGFic3RvcHM6IDQgKi8KCiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3RkbGli
Lmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPG1hdGguaD4KCiNkZWZpbmUgVFJV
RSAxCiNkZWZpbmUgRkFMU0UgMAoKI2RlZmluZSBNQVhfUEFUSF9TSVpFIDI1NgkvKiBNYXhp
bXVtIGZpbGUgbmFtZSBsZW5ndGggKi8KI2RlZmluZSBNQVhfVVNFUl9JTlBVVF9TSVpFIDQJ
LyogQWxsb3dzIGZvciB1bmktY29kZSBpbnB1dCAqLwoKLyoKICogVGhlIHN0cnVjdHVyZSBj
aXJjbGVJbmZvIGNvbnRhaW5zIHRoZSBjZW50ZXIgcG9pbnRzCiAqIG9mIHRoZSBjaXJjbGUs
IGFuZCB0aGUgcmFkaXVzLgogKiBJdCBpcyBhIGxpbmtlZCBsaXN0IGNvbnRhaW5pbmcgYWxs
IHRoZSBpbmZvcm1hdGlvbgogKiBmb3IgZWFjaCBjaXJjbGUgZGVmaW5lZCBpbiB0aGUgZmls
ZS4KKi8KCnR5cGVkZWYgc3RydWN0IF9jaXJjbGVJbmZvIHsKCWludAkJeCwgeTsJCS8qIENl
bnRlciBvZiBjaXJjbGUgKi8KCWludAkJcmFkaXVzOwkJLyogUmFkaXVzICovCglzdHJ1Y3Qg
IF9jaXJjbGVJbmZvICpuZXh0OyAgLyogbmV4dCBub2RlIGZvciBsaW5rZWQgbGlzdCAqLwp9
IGNpcmNsZUluZm87CgovKiBGdW5jdGlvbnMgZGVmaW5lZCAqLwoKRklMRSAqIG9wZW5DaXJj
bGVGaWxlKGNoYXIgKik7CmNpcmNsZUluZm8gKiBsb2FkQ2lyY2xlSW5mbyhGSUxFICopOwp2
b2lkIHB1dFBpeGVsKEZJTEUgKiwgaW50LCBpbnQpOwp2b2lkIHB1dENsaXBwZWRQaXhlbChG
SUxFICosIGludCwgaW50KTsKdm9pZCBtaWRQb2ludENpcmNsZShjaXJjbGVJbmZvICosIEZJ
TEUgKik7CnZvaWQgZnJlZUxpc3QoY2lyY2xlSW5mbyAqKTsKCi8qCiAqIFRoaXMgcm91dGlu
ZSBvcGVucyB0aGUgZmlsZSAiZmlsZW5hbWUiIGFuZCByZXR1cm5zCiAqIHRoZSBoYW5kbGUg
dG8gdGhlIGZpbGUgaWYgaXQgZXhpc3RzLCBOVUxMIG90aGVyd2lzZQoqLwoKRklMRSAqIG9w
ZW5DaXJjbGVGaWxlKGNoYXIgKmZpbGVuYW1lKQp7CglGSUxFICppbmZpbGU7CgoJaW5maWxl
ID0gZm9wZW4oZmlsZW5hbWUsICJyIik7CS8qIE9wZW4gdGhlIGZpbGUgZm9yIHRleHQgcmVh
ZGluZyAqLwoKCWlmICghaW5maWxlKQkvKiBJZiB0aGUgZmlsZSBkb2VzIG5vdCBleGlzdCBy
ZXR1cm4gZ3JhY2VmdWxseSAqLwoJewoJCXByaW50ZigiJXMgZG9lcyBub3QgZXhpc3QuXG4i
KTsKCQlyZXR1cm4gTlVMTDsKCX0gZWxzZQoJCXJldHVybiBpbmZpbGU7CS8qIG90aGVyd2lz
ZSByZXR1cm4gdGhlIGZpbGUgaGFuZGxlIHRvIHRoZSBjYWxsZXIgKi8KfQoKLyoKICogVGhp
cyByb3V0aW5lIGxvYWRzIGluIHRoZSBwb2ludHMgZnJvbSB0aGUgZmlsZS4KICogSXQgYXNz
dW1lcyBpbnRlZ2VyIHZhbHVlcyBhcmUgY29udGFpbmVkIGluIHRoZSBmaWxlLgoqLwoKY2ly
Y2xlSW5mbyAqIGxvYWRDaXJjbGVJbmZvKEZJTEUgKmZpbGUpCnsKCWNpcmNsZUluZm8gKm5v
ZGUsICp0ZW1wLCAqaGVhZDsJLyogTGlua2VkIGxpc3QgaW5mb3JtYXRpb24gKi8KCWludCBk
b25lLCB4LCB5LCByYWRpdXM7CglpbnQgcmV0OwoKCWhlYWQgPSBOVUxMOwkvKiBJbml0aWFs
aXplIGxpbmtlZCBsaXN0IHZhcmlhYmxlcyAqLwoJdGVtcCA9IE5VTEw7CgoJZG9uZSA9IEZB
TFNFOwoKCXdoaWxlICghZG9uZSkKCXsKCQlpZiAoZmVvZihmaWxlKSkJCS8qIElmIHdlIGFy
ZSBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlLCBmaW5pc2ggKi8KCQkJZG9uZSA9IFRSVUU7CgkJ
ZWxzZQkvKiBPdGhlcndpc2UgZ2V0IHRoZSBjaXJjbGUgZGF0YSAqLwoJCXsKCQkJeCA9IDA7
IHkgPSAwOwkJLyogU2V0IGNlbnRyZSB0byB0aGUgb3JpZ2luICovCgkJCXJhZGl1cyA9IDA7
CgoJCQkvKiBFYWNoIHBvaW50IGlzIGxvYWRlZCBpbmRpdmlkdWFsbHkgdG8gZ3VhcmQgYWdh
aW5zdCBhbiBpbmNvcnJlY3QKCQkJICogbnVtYmVyIG9mIHBvaW50cyBzcGVjaWZpZWQgd2l0
aGluIHRoZSBmaWxlLgoJCQkgKgoJCQkgKiBJZiB0aGUgZmlsZSBkb2VzIG5vdCBjb250YWlu
IDMgcGFyYW1ldGVycyBiZXR3ZWVuIGNpcmNsZXMsIGllOgoJCQkgKiBpdCBpcyBwcmVtYXR1
cmVseSB0ZXJtaW5hdGVkLCB0aGVuIHRoZSBjaXJjbGVzIGZvdW5kIHNvIGZhciBhcmUKCQkJ
ICogcmV0dXJuZWQgYW5kIHRoZSBsYXN0IHBhcnRpYWwgY2lyY2xlIGluZm9ybWF0aW9uIGlz
IGRpc2NhcmRlZC4KCQkJKi8KCgkJCXJldCA9IGZzY2FuZihmaWxlLCAiJWQiLCAmeCk7CS8q
IEFzc3VtZSBmZW9mKCkgbWlzc2VkIHNvbWV0aGluZyAqLwoJCQlpZiAocmV0IDwgMSkKCQkJ
CXJldHVybiBoZWFkOwoKCQkJcmV0ID0gZnNjYW5mKGZpbGUsICIlZCIsICZ5KTsKCQkJaWYg
KHJldCA8IDEpCgkJCXsKCQkJCXB1dHMoIkluY29ycmVjdCBudW1iZXIgb2YgcGFyYW1ldGVy
cyBmb3IgY2lyY2xlIGluIGZpbGUuIik7CgkJCQlyZXR1cm4gaGVhZDsKCQkJfQoKCQkJcmV0
ID0gZnNjYW5mKGZpbGUsICIlZCIsICZyYWRpdXMpOwoJCQlpZiAocmV0IDwgMSkKCQkJewoJ
CQkJcHV0cygiSW5jb3JyZWN0IG51bWJlciBvZiBlbmQtcG9pbnRzIGluIGZpbGUuIik7CgkJ
CQlyZXR1cm4gaGVhZDsKCQkJfQoKCQkJbm9kZSA9IChjaXJjbGVJbmZvICopIG1hbGxvYyhz
aXplb2YoY2lyY2xlSW5mbykpOwkvKiBNYWtlIGEgbmV3IG5vZGUgZm9yIHRoZSBsaXN0ICov
CgkJCW1lbXNldChub2RlLCAwLCBzaXplb2YoY2lyY2xlSW5mbykpOwkvKiBhbmQgaW5pdGlh
bGl6ZSB0aGUgbm9kZSAqLwoKCQkJbm9kZS0+eCA9IHg7CQkvKiBMb2FkIHRoZSB2YXJpYWJs
ZXMgaW50byB0aGUgbmV3IG5vZGUgKi8KCQkJbm9kZS0+eSA9IHk7CgkJCW5vZGUtPnJhZGl1
cyA9IHJhZGl1czsKCQkJbm9kZS0+bmV4dCA9IE5VTEw7CgoJCQl0ZW1wID0gaGVhZDsJLyog
TWFrZSB0ZW1wIHRoZSBzdGFydCBvZiB0aGUgbGlua2VkIGxpc3QgKi8KCgkJCWlmICghdGVt
cCkJCS8qIElmIHRoaXMgaXMgYSBuZXcgbGlzdCAqLwoJCQkJaGVhZCA9IG5vZGU7CS8qIE1h
a2UgdGhlIG5vZGUgdGhlIG5ldyBoZWFkICovCgkJCWVsc2UJLyogT3RoZXJ3aXNlICovCgkJ
CXsKCQkJCXdoaWxlICh0ZW1wLT5uZXh0KQkJLyogV2hpbGUgdGhlcmUgYXJlIHN0aWxsIG5v
ZGVzIHRoYXQgZm9sbG93IHRoZSBjdXJyZW50IG5vZGUgKi8KCQkJCQl0ZW1wID0gdGVtcC0+
bmV4dDsJLyogU2tpcCB0aGVtICovCgkJCQl0ZW1wLT5uZXh0ID0gbm9kZTsJCS8qIEFuZCBl
dmVudHVhbGx5IGluc2VydCBuZXcgbm9kZSBhdCB0aGUgdGFpbCBvZiB0aGUgbGlzdCAqLwoJ
CQl9CgkJfQoJfQoJcmV0dXJuIGhlYWQ7CS8qIFJldHVybiB0aGUgY3JlYXRlZCBsaXN0ICov
Cn0KCi8qIFRoaXMgcm91dGluZSBjb3VsZCBiZSBjaGFuZ2VkIHRvIG91dHB1dCB0byBhIG1v
bml0b3Igb3Igb3RoZXIgZGlzcGxheQogKiBkZXZpY2UsIGJ1dCBjdXJyZW50bHkgaXQgb3V0
cHV0cyB0byB0aGUgZmlsZS4KKi8KCnZvaWQgcHV0UGl4ZWwoRklMRSAqb3V0ZmlsZSwgaW50
IHgsIGludCB5KQp7CglmcHJpbnRmKG91dGZpbGUsICIlZCAlZFxuIiwgeCwgeSk7Cn0KCi8q
IFRoaXMgcm91dGluZSBvbmx5IG91dHB1dCB0aGUgcGl4ZWwgaWYgaXQgcGFzc2VzIHRoZSBj
bGlwIHRlc3RzICovCgp2b2lkIHB1dENsaXBwZWRQaXhlbChGSUxFICpvdXRmaWxlLCBpbnQg
eCwgaW50IHkpCnsKCWlmICgoeCA+PSAtMjAwKSAmJiAoeCA8PSAyMDApKQkJLyogQnJ1dGUg
Zm9yY2UgY2xpcCAqLwoJCWlmICgoeSA+PSAtMjAwKSAmJiAoeSA8PSAyMDApKQoJCQlwdXRQ
aXhlbChvdXRmaWxlLCB4LCB5KTsKfQoKLyogVGhpcyByb3V0aW5lIHNldHMgdGhlIGNvcnJl
c3BvbmRpbmcgcGl4ZWwgZm9yIGFsbCA4IHF1YWRyYW50cywgYXMgdGhlCiAqIGNpcmNsZSBy
b3V0aW5lIG9ubHkgY2FsY3VsYXRlcyB0aGUgc2Vjb25kIDQ1IGRlZ3JlZXMgb2YgdGhlIGNp
cmNsZS4gSW4gb3RoZXIKICogd29yZHMsIHRoZSBwaXhlbCBpcyBwYXNzZWQgaW4gZm9yIHRo
ZSBzZWNvbmQgNDUgZGVncmVlcywgYW5kIHRoZSBwaXhlbCBpcwogKiB0aGVuIHNldCBmb3Ig
dGhlIDAgLSA0NSBkZWdyZWUgcmFuZ2UsIDkwIC0gMTM1IGRlZ3JlZSByYW5nZSwgYW5kIHNv
IG9uLgogKgogKiBFYWNoIHF1YWRyYW50cyBwaXhlbCBpcyBwYXNzZWQgb2ZmIHRvIGEgc2Vw
ZXJhdGUgcm91dGluZSB3aGljaCBwZXJmb3JtcyB0aGUKICogcGVyLXBpeGVsIGNsaXAgdGVz
dC4KKi8KCnZvaWQgY2lyY2xlUG9pbnRzKEZJTEUgKm91dGZpbGUsIGludCB4LCBpbnQgeSwg
aW50IHhDZW50ZXIsIGludCB5Q2VudGVyKQp7CglwdXRDbGlwcGVkUGl4ZWwob3V0ZmlsZSwg
eCArIHhDZW50ZXIsIHkgKyB5Q2VudGVyKTsKCXB1dENsaXBwZWRQaXhlbChvdXRmaWxlLCB5
ICsgeENlbnRlciwgeCArIHlDZW50ZXIpOwoJcHV0Q2xpcHBlZFBpeGVsKG91dGZpbGUsIHkg
KyB4Q2VudGVyLCAteCArIHlDZW50ZXIpOwoJcHV0Q2xpcHBlZFBpeGVsKG91dGZpbGUsIHgg
KyB4Q2VudGVyLCAteSArIHlDZW50ZXIpOwoJcHV0Q2xpcHBlZFBpeGVsKG91dGZpbGUsIC14
ICsgeENlbnRlciwgLXkgKyB5Q2VudGVyKTsKCXB1dENsaXBwZWRQaXhlbChvdXRmaWxlLCAt
eSArIHhDZW50ZXIsIC14ICsgeUNlbnRlcik7CglwdXRDbGlwcGVkUGl4ZWwob3V0ZmlsZSwg
LXkgKyB4Q2VudGVyLCB4ICsgeUNlbnRlcik7CglwdXRDbGlwcGVkUGl4ZWwob3V0ZmlsZSwg
LXggKyB4Q2VudGVyLCB5ICsgeUNlbnRlcik7Cn0KCi8qIG1pZFBvaW50Q2lyY2xlKC4uLikg
Y2FsY3VsYXRlcyB0aGUgcGl4ZWwgbG9jYXRpb25zIGZyb20gdGhlIGNpcmNsZSBpbmZvLgog
KiBUaGUgYWxnb3JpdGhtIHVzZXMgYnJ1dGUgZm9yY2UgY2xpcHBpbmcsIG1lYW5pbmcgZWFj
aCBwaXhlbCBpcwogKiB0ZXN0ZWQgdG8gZW5zdXJlIGl0IGlzIHdpdGhpbiB0aGUgY2FudmFz
IGJvdW5kYXJpZXMgLSB0aGUgY29kZSBkb2VzCiAqIG5vdCB1c2UgYW55ICdub3JtYWwnIG1l
dGhvZCBvZiBjbGlwcGluZy4KKi8KCnZvaWQgbWlkUG9pbnRDaXJjbGUoY2lyY2xlSW5mbyAq
bm9kZSwgRklMRSAqb3V0ZmlsZSkKewoJaW50IHgsIHksIHJhZGl1czsJLyogdGVtcG9yYXJ5
IHZhcmlhYmxlcyBmb3IgY2lyY2xlIGluZm8gZm9yIHJlYWRhYmlsaXR5ICovCglmbG9hdCBk
OwkJCS8qIHN0ZXAgdmFyaWFibGVzICovCgoJd2hpbGUgKG5vZGUpCS8qIHdoaWxlIHdlIGhh
dmUgZGF0YSB0byBwcm9jZXNzICovCgl7CgkJaWYgKG5vZGUtPnJhZGl1cyA8PSAwKQoJCXsK
CQkJbm9kZSA9IG5vZGUtPm5leHQ7CgkJCWNvbnRpbnVlOwoJCX0KCgkJeCA9IDA7CgkJeSA9
IG5vZGUtPnJhZGl1czsKCQlkID0gKDUuMC80LjApIC0gcmFkaXVzOwoKCQljaXJjbGVQb2lu
dHMob3V0ZmlsZSwgeCwgeSwgbm9kZS0+eCwgbm9kZS0+eSk7CgoJCXdoaWxlICh5ID4geCkK
CQl7CgkJCWlmIChkIDwgMC4wKQoJCQl7CgkJCQlkICs9ICgyLjAgKiB4KSArIDMuMDsKCQkJ
CXgrKzsKCQkJfSBlbHNlCgkJCXsKCQkJCWQgKz0gKDIuMCAqICh4IC0geSkpICsgNS4wOwoJ
CQkJeCsrOwoJCQkJeS0tOwoJCQl9CgoJCQljaXJjbGVQb2ludHMob3V0ZmlsZSwgeCwgeSwg
bm9kZS0+eCwgbm9kZS0+eSk7CgkJfQoKCQlmcHJpbnRmKG91dGZpbGUsICJcbiIpOwoJCW5v
ZGUgPSBub2RlLT5uZXh0OwkvKiBkbyBmb3IgZWFjaCBub2RlIGluIHRoZSBsaW5rZWQgbGlz
dCAqLwoJfQp9CgovKiBUaGlzIHJvdXRpbmUgZnJlZXMgdGhlIG1lbW9yeSBhbGxvY2F0ZWQg
Zm9yIHRoZSBsaW5rZWQgbGlzdC4KICogSXQgaXMgYSBzaW1wbGUgcmVjdXJzaXZlIHJvdXRp
bmUuCiovCgp2b2lkIGZyZWVMaXN0KGNpcmNsZUluZm8gKm5vZGUpCnsKCWlmIChub2RlLT5u
ZXh0KQoJCWZyZWVMaXN0KG5vZGUtPm5leHQpOwoJZnJlZShub2RlKTsKfQoKaW50IG1haW4o
aW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKewoJY2hhciBpbkZpbGVOYW1lW01BWF9QQVRIX1NJ
WkVdLCBvdXRGaWxlTmFtZVtNQVhfUEFUSF9TSVpFXTsJLyogdGVtcG9yYXJ5IGluIGFuZCBv
dXQgZmlsZSBuYW1lcyAqLwoJRklMRSAqaW5maWxlID0gTlVMTCwgKm91dGZpbGUgPSBOVUxM
OwkvKiBmaWxlIGhhbmRsZXMgZm9yIGlucHV0IGFuZCBvdXRwdXQgZmlsZXMgKi8KCWNpcmNs
ZUluZm8gKmhlYWQgPSBOVUxMOwkvKiBsaW5rZWQgbGlzdCBvZiBjaXJjbGUgaW5mb3JtYXRp
b24gKi8KCWNoYXIgdXNlcklucHV0W01BWF9VU0VSX0lOUFVUX1NJWkVdOwkvKiBGb3IgY2hl
Y2tpbmcgdGhlIG92ZXIgd3JpdGluZyBvZiBhbiBleGlzdGluZyBmaWxlLiAqLwoJaW50IGRv
bmUgPSBGQUxTRTsKCglpZiAoYXJnYyA9PSAxKQkvKiBJZiB0aGVyZSBhcmUgbm8gaW5wdXQg
b3Igb3V0cHV0IGZpbGUgbmFtZXMgZ2l2ZW4gaW4gcHJvZ3JhbSBhcmd1bWVudHMgKi8KCXsJ
CQkJLyogdGhlbiBnZXQgdGhlbSBub3cgKi8KCQlwcmludGYoIkVudGVyIGlucHV0IGZpbGVu
YW1lOiAiKTsKCQlzY2FuZigiJXMiLCAmaW5GaWxlTmFtZSk7CgoJCXByaW50ZigiRW50ZXIg
b3V0cHV0IGZpbGVuYW1lOiAiKTsKCQlzY2FuZigiJXMiLCAmb3V0RmlsZU5hbWUpOwoJfSBl
bHNlIGlmIChhcmdjID09IDIpCS8qIElucHV0IGZpbGUgbmFtZSBnaXZlbiwgYnV0IG5vIG91
dHB1dCBuYW1lIGdpdmVuICovCgl7CgkJc3RyY3B5KChjaGFyICopaW5GaWxlTmFtZSwgYXJn
dlsxXSk7CgoJCXByaW50ZigiRW50ZXIgb3V0cHV0IGZpbGVuYW1lOiAiKTsKCQlzY2FuZigi
JXMiLCAmb3V0RmlsZU5hbWUpOwoJfSBlbHNlIGlmIChhcmdjID09IDMpCS8qIElucHV0IGFu
ZCBvdXRwdXQgbmFtZXMgZ2l2ZW4gKi8KCXsKCQlzdHJjcHkoKGNoYXIgKilpbkZpbGVOYW1l
LCBhcmd2WzFdKTsKCQlzdHJjcHkoKGNoYXIgKilvdXRGaWxlTmFtZSwgYXJndlsyXSk7Cgl9
IGVsc2UJLyogVG9vIG1hbnkgYXJndW1lbnRzIGdpdmVuICovCgl7CgkJcHJpbnRmKCJFcnJv
ci4gSW5jb3JyZWN0IGFyZ3VtZW50IGNvdW50LlxuIik7CgkJZXhpdCgwKTsKCX0KCglpbmZp
bGUgPSBvcGVuQ2lyY2xlRmlsZSgoY2hhciAqKSBpbkZpbGVOYW1lKTsJLyogT3BlbiBmaWxl
IHdpdGggY2lyY2xlIGRhdGEgKi8KCWlmICghaW5maWxlKQkvKiBJZiBpdCBkb2Vzbid0IGV4
aXN0LCBleGl0IGdyYWNlZnVsbHkgKi8KCQlleGl0KDApOwoKCXdoaWxlICghZG9uZSkJLyog
UHJlY2F1dGlvbmFyeSAtIHByb21wdCBpZiBvdmVyd3JpdGluZyBleGlzdGluZyBmaWxlICov
Cgl7CgkJaWYgKGZvcGVuKG91dEZpbGVOYW1lLCAiciIpKQkvKiBEb2VzIHRoZSBmaWxlIGV4
aXN0PyAqLwoJCXsKCQkJcHJpbnRmKCJPdXRwdXQgZmlsZSBhbHJlYWR5IGV4aXN0cy4gV3Jp
dGUgb3ZlciBpdD8gKHkvbik6ICAiKTsJLyogcHJvbXB0IHVzZXIgKi8KCQkJc2NhbmYoIiVz
IiwgJnVzZXJJbnB1dCk7CgoJCQlpZiAoKHVzZXJJbnB1dFswXSA9PSAneScpIHx8ICh1c2Vy
SW5wdXRbMF0gPT0gJ1knKSkKCQkJewoJCQkJb3V0ZmlsZSA9IGZvcGVuKChjaGFyICopb3V0
RmlsZU5hbWUsICJ3Iik7CS8qIG92ZXItd3JpdGUgb3V0cHV0IGZpbGUgKi8KCQkJCWlmICgh
b3V0ZmlsZSkJLyogSWYgb3Zlci13cml0ZSBmYWlsZWQsIGV4aXQgZ3JhY2VmdWxseSAqLwoJ
CQkJewoJCQkJCXByaW50ZigiRmFpbGVkIHRvIG9wZW4gb3V0cHV0IGZpbGUuXG4iKTsKCQkJ
CQlleGl0KDApOwoJCQkJfQoJCQkJZG9uZSA9IFRSVUU7CgkJCX0gZWxzZQoJCQl7CgkJCQlw
cmludGYoIkZpbGUgZXhpc3RzIGFuZCB1c2VyIGRvZXMgbm90IHdpc2ggdG8gb3Zlci13cml0
ZS4gVGVybWluYXRpbmcuXG4iKTsKCQkJCWV4aXQoMCk7CS8qIEV4aXQgZ3JhY2VmdWxseSAq
LwoJCQl9CgkJfSBlbHNlCgkJewoJCQlvdXRmaWxlID0gZm9wZW4oKGNoYXIgKilvdXRGaWxl
TmFtZSwgInciKTsJLyogQ3JlYXRlIG91dHB1dCBmaWxlICovCgkJCWlmICghb3V0ZmlsZSkJ
LyogSWYgY3JlYXRlIGZhaWxlZCwgZXhpdCBncmFjZWZ1bGx5ICovCgkJCXsKCQkJCXByaW50
ZigiRmFpbGVkIHRvIG9wZW4gb3V0cHV0IGZpbGUuXG4iKTsKCQkJCWV4aXQoMCk7CgkJCX0K
CQkJZG9uZSA9IFRSVUU7CgkJfQoJfQoKCWhlYWQgPSBsb2FkQ2lyY2xlSW5mbyhpbmZpbGUp
OwkvKiBHZXQgY2lyY2xlIGRhdGEgZnJvbSBmaWxlICovCgoJaWYgKCFoZWFkKQkvKiBJZiB0
aGVyZSBhcmUgbm8gcG9pbnRzIGluIHRoZSBmaWxlLCBleGl0IGdyYWNlZnVsbHkgKi8KCXsK
CQlwcmludGYoIkZhaWxlZCB0byBsb2FkIGluIGNpcmNsZSBpbmZvcm1hdGlvbi5cbiIpOwoJ
CWV4aXQoMCk7Cgl9CgoJbWlkUG9pbnRDaXJjbGUoaGVhZCwgb3V0ZmlsZSk7CS8qIERyYXcg
dGhlIGNpcmNsZS4gKi8KCglmcmVlTGlzdChoZWFkKTsJCS8qIEZyZWUgdGhlIGxpbmtlZCBs
aXN0IG1lbW9yeSAqLwoJZmNsb3NlKGluZmlsZSk7CQkvKiBjbG9zZSB0aGUgd29ya2luZyBm
aWxlcyAqLwoJZmNsb3NlKG91dGZpbGUpOwoKCXJldHVybiBUUlVFOwkvKiBBTlNJIEMgcmVx
dWlyZXMgbWFpbiByZXR1cm4gYW4gSU5UICovCn0K
--------------964AD0D400BE9723048EAE7C--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019