delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2011/06/30/15:54:03

X-Authentication-Warning: delorie.com: mail set sender to djgpp-workers-bounces using -f
X-Recipient: djgpp-workers AT delorie DOT com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=gamma;
h=mime-version:in-reply-to:references:date:message-id:subject:from:to
:content-type;
bh=X64opeADaiDbtkv/GGRmubWw+6Zp+6yw5beaXn57ci0=;
b=oMcuBC99YJ8h17x+LEZoqTfY3Fd4QkThbyvQiuCOdcHVmEoVSKIC5qD7A59Q8vSI3h
Kjjf8WBc4YBXYPWbTORPMJfNXvFVoldzmFA32/JXW7whZBhex+lss5S/okm/B56oRG3V
VbpAGdbVIzcAA3X005BQ7OQozCNsd9JX/NgyE=
MIME-Version: 1.0
In-Reply-To: <201106302109.30225.juan.guerrero@gmx.de>
References: <BANLkTinj8niun3H0Z6QTTsfQZ=8jD1rcSg AT mail DOT gmail DOT com>
<201106302109 DOT 30225 DOT juan DOT guerrero AT gmx DOT de>
Date: Thu, 30 Jun 2011 22:53:55 +0300
Message-ID: <BANLkTin5NAdHrp9N1RkhZ_HosJjWLxdW_g@mail.gmail.com>
Subject: Re: [patch] fix epunzip stric aliasing warnings
From: Ozkan Sezer <sezeroz AT gmail DOT com>
To: djgpp-workers AT delorie DOT com
Reply-To: djgpp-workers AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp-workers AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

--0015176f1b08dfab7504a6f34243
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On Thu, Jun 30, 2011 at 10:09 PM, Juan Manuel Guerrero
<juan DOT guerrero AT gmx DOT de> wrote:
> Am Dienstag, 28. Juni 2011 schrieb Ozkan Sezer:
>> Hi:
>>
>> The attached patch fixes strict aliasing violation warnings in
>> djtar/epunzip.c. =A0The warnings are only visible when using gcc<=3D3.3
>> (old but one I do use) but worth fixing, IMO, considering the shape
>> of the code.
>>
>> Regards.
>>
>> --
>> O.S.
>>
>
> I tested the patch submitted by Ozkan Sezer using gcc453b and gcc460b bot=
h
> djdev204 versions and it fixes the strict warning issues. =A0The proposed=
 changes
> look ok to me. =A0If no one objects in a reasonable period of time I will=
 commit
> the patch below.
>
> Regards,
> Juan M. Guerrero
>
>
>
> =A0 =A0 =A0 =A0* src/utils/djtar/epunzip.c (epunzip_read): Fix strict aal=
iasing warning.
> =A0 =A0 =A0 =A0From Ozkan Sezer <sezeroz AT gmail DOT com>
>

Just a note:  Replacing (int *) casts onto char buffers by (__dj_int_a *)
is not necessary, as char* is already a may_alias type.
EDIT: Even those (__dj_short_a *) can be simplified into (short *) casts,
which I obviously missed doing in my initial version.  In any case, the
result will be just the same but, IMO, the simplified ones will be easier
to read.  Attached my 2nd version; pick as you like.

Regards.

--
O.S.

--0015176f1b08dfab7504a6f34243
Content-Type: application/octet-stream; name="epunzip2.diff"
Content-Disposition: attachment; filename="epunzip2.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gpk4sdhc0

SW5kZXg6IHNyYy91dGlscy9kanRhci9lcHVuemlwLmMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2
cy9kamdwcC9kamdwcC9zcmMvdXRpbHMvZGp0YXIvZXB1bnppcC5jLHYKcmV0cmlldmluZyByZXZp
c2lvbiAxLjgKZGlmZiAtdSAtcCAtcjEuOCBlcHVuemlwLmMKLS0tIHNyYy91dGlscy9kanRhci9l
cHVuemlwLmMJOSBKYW4gMjAxMSAxNDoxOTo1OSAtMDAwMAkxLjgKKysrIHNyYy91dGlscy9kanRh
ci9lcHVuemlwLmMJMzAgSnVuIDIwMTEgMTk6NTA6NDEgLTAwMDAKQEAgLTU0LDMwICs1NCwzMCBA
QCBlcHVuemlwX3JlYWQoY2hhciAqemlwZmlsZW5hbWUpCiAgICAqIGZvciBhIG9uZS1zZWdtZW50
IFpJUCwgYnV0IGZhaWwgb24gb3RoZXIgaGVhZGVycy4gKi8KICAgd2hpbGUoMSkKICAgICB7Ci0g
ICAgICBpbnQgYnVmZmVyID0gMDsKKyAgICAgIGNoYXIgYnVmZmVyWzRdOwogCi0gICAgICAoKGNo
YXIgKikmYnVmZmVyKVswXSA9IChjaGFyKWdldF9ieXRlKCk7Ci0gICAgICAoKGNoYXIgKikmYnVm
ZmVyKVsxXSA9IChjaGFyKWdldF9ieXRlKCk7CisgICAgICBidWZmZXJbMF0gPSAoY2hhcilnZXRf
Ynl0ZSgpOworICAgICAgYnVmZmVyWzFdID0gKGNoYXIpZ2V0X2J5dGUoKTsKIAotICAgICAgaWYo
KihfX2RqX3Nob3J0X2EgKikmYnVmZmVyICE9ICooY29uc3Qgc2hvcnQgKikoY29uc3Qgdm9pZCAq
KSJQSyIpCisgICAgICBpZigqKHNob3J0ICopYnVmZmVyICE9ICgnSycgPDwgOCkgKyAnUCcpCiAJ
YnJlYWs7CiAKLSAgICAgICgoY2hhciAqKSZidWZmZXIpWzBdID0gKGNoYXIpZ2V0X2J5dGUoKTsK
LSAgICAgICgoY2hhciAqKSZidWZmZXIpWzFdID0gKGNoYXIpZ2V0X2J5dGUoKTsKKyAgICAgIGJ1
ZmZlclswXSA9IChjaGFyKWdldF9ieXRlKCk7CisgICAgICBidWZmZXJbMV0gPSAoY2hhcilnZXRf
Ynl0ZSgpOwogCi0gICAgICBpZigqKF9fZGpfc2hvcnRfYSAqKSZidWZmZXIgPT0gKihjb25zdCBz
aG9ydCAqKShjb25zdCB2b2lkICopIlx4M1x4NCIpCisgICAgICBpZigqKHNob3J0ICopYnVmZmVy
ID09ICgnXDAwNCcgPDwgOCkgKyAnXDAwMycpCiAJewogCSAgLyogbG9jYWwgaGVhZGVyICovCiAJ
ICBhdF9sb2NhbF9oZWFkZXIgPSAxOwogCSAgYnJlYWs7CiAJfQotICAgICAgZWxzZSBpZigqKF9f
ZGpfc2hvcnRfYSAqKSZidWZmZXIgPT0gKihjb25zdCBzaG9ydCAqKShjb25zdCB2b2lkICopIlx4
MzBceDMwIikKKyAgICAgIGVsc2UgaWYoKihzaG9ydCAqKWJ1ZmZlciA9PSAoJzAnIDw8IDgpICsg
JzAnKQogCXsKIAkgIC8qIHNwYW5uaW5nIG1hcmtlciwgYnV0IG9ubHkgb25lIHNlZ21lbnQKIAkg
ICAqID0+IG5lZWQgdG8gZmluZCBsb2NhbCBoZWFkZXIuICovCiAJICBjb250aW51ZTsKIAl9Ci0g
ICAgICBlbHNlIGlmKCooX19kal9zaG9ydF9hICopJmJ1ZmZlciA9PSAqKGNvbnN0IHNob3J0ICop
KGNvbnN0IHZvaWQgKikiXHg3XHg4IikKKyAgICAgIGVsc2UgaWYoKihzaG9ydCAqKWJ1ZmZlciA9
PSAoJ1wwMTAnIDw8IDgpICsgJ1wwMDcnKQogCXsKIAkgIC8qIHNwYW5uaW5nIG1hcmtlciwgbXVs
dGlwbGUgc2VnbWVudHMuICovCiAJICBmcHJpbnRmKGxvZ19vdXQsICIlczogc3Bhbm5pbmcgaXMg
bm90IHN1cHBvcnRlZFxuIiwgemlwZmlsZW5hbWUpOwpAQCAtODksNyArODksNyBAQCBlcHVuemlw
X3JlYWQoY2hhciAqemlwZmlsZW5hbWUpCiAJICAvKiB1bmtub3duIGhlYWRlciAqLwogCSAgZnBy
aW50Zihsb2dfb3V0LAogCQkgICIlczogZG9uJ3QgdW5kZXJzdGFuZCBoZWFkZXIgdHlwZSAweCUw
MnglMDJ4XG4iLAotCQkgIHppcGZpbGVuYW1lLCAoKGNoYXIgKikmYnVmZmVyKVswXSwgKChjaGFy
ICopJmJ1ZmZlcilbMV0pOworCQkgIHppcGZpbGVuYW1lLCBidWZmZXJbMF0sIGJ1ZmZlclsxXSk7
CiAJICBkb250X3VuZGVyc3RhbmQgPSAxOwogCSAgYnJlYWs7CiAJfQpAQCAtMTAwLDI1ICsxMDAs
MjYgQEAgZXB1bnppcF9yZWFkKGNoYXIgKnppcGZpbGVuYW1lKQogCiAgIGlmIChhdF9sb2NhbF9o
ZWFkZXIpIHdoaWxlKDEpCiAgICAgewotICAgICAgaW50IGJ1ZmZlciwgZXh0X2hlYWRlciwgdGlt
ZWRhdGUsIGNyYywgc2l6ZSwgbGVuZ3RoLCBuYW1lX2xlbmd0aCwKKyAgICAgIGludCBleHRfaGVh
ZGVyLCB0aW1lZGF0ZSwgY3JjLCBzaXplLCBsZW5ndGgsIG5hbWVfbGVuZ3RoLAogCWV4dHJhX2xl
bmd0aCwgc2hvdWxkX2JlX3dyaXR0ZW4sIGNvdW50LCByZWFsX2ZpbGUgPSAwOworICAgICAgY2hh
ciBidWZmZXJbNF07CiAgICAgICBjaGFyIGZpbGVuYW1lWzIwNDhdOwogCiAgICAgICBpZiAoIWF0
X2xvY2FsX2hlYWRlcikKIAl7Ci0JICAoKGNoYXIgKikmYnVmZmVyKVswXSA9IChjaGFyKWdldF9i
eXRlKCk7Ci0JICAoKGNoYXIgKikmYnVmZmVyKVsxXSA9IChjaGFyKWdldF9ieXRlKCk7CisJICBi
dWZmZXJbMF0gPSAoY2hhcilnZXRfYnl0ZSgpOworCSAgYnVmZmVyWzFdID0gKGNoYXIpZ2V0X2J5
dGUoKTsKIAotCSAgaWYoKihfX2RqX3Nob3J0X2EgKikmYnVmZmVyICE9ICooY29uc3Qgc2hvcnQg
KikoY29uc3Qgdm9pZCAqKSJQSyIpCisJICBpZigqKHNob3J0ICopYnVmZmVyICE9ICgnSycgPDwg
OCkgKyAnUCcpCiAJICAgIHsKIAkgICAgICBmcHJpbnRmKGxvZ19vdXQsICIlczogaW52YWxpZCB6
aXAgZmlsZSBzdHJ1Y3R1cmVcbiIsIHppcGZpbGVuYW1lKTsKIAkgICAgICBicmVhazsKIAkgICAg
fQogCi0JICAoKGNoYXIgKikmYnVmZmVyKVswXSA9IChjaGFyKWdldF9ieXRlKCk7Ci0JICAoKGNo
YXIgKikmYnVmZmVyKVsxXSA9IChjaGFyKWdldF9ieXRlKCk7CisJICBidWZmZXJbMF0gPSAoY2hh
cilnZXRfYnl0ZSgpOworCSAgYnVmZmVyWzFdID0gKGNoYXIpZ2V0X2J5dGUoKTsKIAotCSAgaWYo
KihfX2RqX3Nob3J0X2EgKikmYnVmZmVyICE9ICooY29uc3Qgc2hvcnQgKikoY29uc3Qgdm9pZCAq
KSJceDNceDQiKQorCSAgaWYoKihzaG9ydCAqKWJ1ZmZlciAhPSAoJ1wwMDQnIDw8IDgpICsgJ1ww
MDMnKQogCSAgICB7CiAJICAgICAgLyogbm90IGEgbG9jYWwgaGVhZGVyIC0gYWxsIGRvbmUgKi8K
IAkgICAgICBicmVhazsKQEAgLTEzMyw1NyArMTM0LDU3IEBAIGVwdW56aXBfcmVhZChjaGFyICp6
aXBmaWxlbmFtZSkKICAgICAgIGdldF9ieXRlKCk7CiAgICAgICBnZXRfYnl0ZSgpOwogCi0gICAg
ICAoKGNoYXIgKikmYnVmZmVyKVswXSA9IChjaGFyKWdldF9ieXRlKCk7Ci0gICAgICAoKGNoYXIg
KikmYnVmZmVyKVsxXSA9IChjaGFyKWdldF9ieXRlKCk7CisgICAgICBidWZmZXJbMF0gPSAoY2hh
cilnZXRfYnl0ZSgpOworICAgICAgYnVmZmVyWzFdID0gKGNoYXIpZ2V0X2J5dGUoKTsKIAotICAg
ICAgaWYoKihfX2RqX3Nob3J0X2EgKikmYnVmZmVyICYgQ1JZRkxHKQorICAgICAgaWYoKihzaG9y
dCAqKWJ1ZmZlciAmIENSWUZMRykKIAl7CiAJICBmcHJpbnRmKGxvZ19vdXQsICIlcyBoYXMgZW5j
cnlwdGVkIGZpbGUocykgLSB1c2UgdW56aXBcbiIsIHppcGZpbGVuYW1lKTsKIAkgIGJyZWFrOwog
CX0KLSAgICAgIGV4dF9oZWFkZXIgPSAqKF9fZGpfc2hvcnRfYSAqKSZidWZmZXIgJiBFWFRGTEcg
PyAxIDogMDsKKyAgICAgIGV4dF9oZWFkZXIgPSAqKHNob3J0ICopYnVmZmVyICYgRVhURkxHID8g
MSA6IDA7CiAKLSAgICAgICgoY2hhciAqKSZidWZmZXIpWzBdID0gKGNoYXIpZ2V0X2J5dGUoKTsK
LSAgICAgICgoY2hhciAqKSZidWZmZXIpWzFdID0gKGNoYXIpZ2V0X2J5dGUoKTsKKyAgICAgIGJ1
ZmZlclswXSA9IChjaGFyKWdldF9ieXRlKCk7CisgICAgICBidWZmZXJbMV0gPSAoY2hhcilnZXRf
Ynl0ZSgpOwogCi0gICAgICBtZXRob2QgPSAqKF9fZGpfc2hvcnRfYSAqKSZidWZmZXI7CisgICAg
ICBtZXRob2QgPSAqKHNob3J0ICopYnVmZmVyOwogICAgICAgaWYobWV0aG9kICE9IDggJiYgbWV0
aG9kICE9IDApCiAJewogCSAgZnByaW50Zihsb2dfb3V0LCAiJXMgaGFzIGZpbGUocykgY29tcHJl
c3NlZCB3aXRoIHVuc3VwcG9ydGVkIG1ldGhvZCAtIHVzZSB1bnppcFxuIiwgemlwZmlsZW5hbWUp
OwogCSAgYnJlYWs7CiAJfQogCi0gICAgICAoKGNoYXIgKikmYnVmZmVyKVswXSA9IChjaGFyKWdl
dF9ieXRlKCk7Ci0gICAgICAoKGNoYXIgKikmYnVmZmVyKVsxXSA9IChjaGFyKWdldF9ieXRlKCk7
Ci0gICAgICAoKGNoYXIgKikmYnVmZmVyKVsyXSA9IChjaGFyKWdldF9ieXRlKCk7Ci0gICAgICAo
KGNoYXIgKikmYnVmZmVyKVszXSA9IChjaGFyKWdldF9ieXRlKCk7Ci0gICAgICB0aW1lZGF0ZSA9
IGJ1ZmZlcjsKLQotICAgICAgKChjaGFyICopJmJ1ZmZlcilbMF0gPSAoY2hhcilnZXRfYnl0ZSgp
OwotICAgICAgKChjaGFyICopJmJ1ZmZlcilbMV0gPSAoY2hhcilnZXRfYnl0ZSgpOwotICAgICAg
KChjaGFyICopJmJ1ZmZlcilbMl0gPSAoY2hhcilnZXRfYnl0ZSgpOwotICAgICAgKChjaGFyICop
JmJ1ZmZlcilbM10gPSAoY2hhcilnZXRfYnl0ZSgpOwotICAgICAgY3JjID0gYnVmZmVyOwotCi0g
ICAgICAoKGNoYXIgKikmYnVmZmVyKVswXSA9IChjaGFyKWdldF9ieXRlKCk7Ci0gICAgICAoKGNo
YXIgKikmYnVmZmVyKVsxXSA9IChjaGFyKWdldF9ieXRlKCk7Ci0gICAgICAoKGNoYXIgKikmYnVm
ZmVyKVsyXSA9IChjaGFyKWdldF9ieXRlKCk7Ci0gICAgICAoKGNoYXIgKikmYnVmZmVyKVszXSA9
IChjaGFyKWdldF9ieXRlKCk7Ci0gICAgICBzaXplID0gYnVmZmVyOwotCi0gICAgICAoKGNoYXIg
KikmYnVmZmVyKVswXSA9IChjaGFyKWdldF9ieXRlKCk7Ci0gICAgICAoKGNoYXIgKikmYnVmZmVy
KVsxXSA9IChjaGFyKWdldF9ieXRlKCk7Ci0gICAgICAoKGNoYXIgKikmYnVmZmVyKVsyXSA9IChj
aGFyKWdldF9ieXRlKCk7Ci0gICAgICAoKGNoYXIgKikmYnVmZmVyKVszXSA9IChjaGFyKWdldF9i
eXRlKCk7Ci0gICAgICBsZW5ndGggPSBidWZmZXI7Ci0KLSAgICAgICgoY2hhciAqKSZidWZmZXIp
WzBdID0gKGNoYXIpZ2V0X2J5dGUoKTsKLSAgICAgICgoY2hhciAqKSZidWZmZXIpWzFdID0gKGNo
YXIpZ2V0X2J5dGUoKTsKLSAgICAgIG5hbWVfbGVuZ3RoID0gKihfX2RqX3Nob3J0X2EgKikmYnVm
ZmVyOwotCi0gICAgICAoKGNoYXIgKikmYnVmZmVyKVswXSA9IChjaGFyKWdldF9ieXRlKCk7Ci0g
ICAgICAoKGNoYXIgKikmYnVmZmVyKVsxXSA9IChjaGFyKWdldF9ieXRlKCk7Ci0gICAgICBleHRy
YV9sZW5ndGggPSAqKF9fZGpfc2hvcnRfYSAqKSZidWZmZXI7CisgICAgICBidWZmZXJbMF0gPSAo
Y2hhcilnZXRfYnl0ZSgpOworICAgICAgYnVmZmVyWzFdID0gKGNoYXIpZ2V0X2J5dGUoKTsKKyAg
ICAgIGJ1ZmZlclsyXSA9IChjaGFyKWdldF9ieXRlKCk7CisgICAgICBidWZmZXJbM10gPSAoY2hh
cilnZXRfYnl0ZSgpOworICAgICAgdGltZWRhdGUgPSAqKGludCAqKWJ1ZmZlcjsKKworICAgICAg
YnVmZmVyWzBdID0gKGNoYXIpZ2V0X2J5dGUoKTsKKyAgICAgIGJ1ZmZlclsxXSA9IChjaGFyKWdl
dF9ieXRlKCk7CisgICAgICBidWZmZXJbMl0gPSAoY2hhcilnZXRfYnl0ZSgpOworICAgICAgYnVm
ZmVyWzNdID0gKGNoYXIpZ2V0X2J5dGUoKTsKKyAgICAgIGNyYyA9ICooaW50ICopYnVmZmVyOwor
CisgICAgICBidWZmZXJbMF0gPSAoY2hhcilnZXRfYnl0ZSgpOworICAgICAgYnVmZmVyWzFdID0g
KGNoYXIpZ2V0X2J5dGUoKTsKKyAgICAgIGJ1ZmZlclsyXSA9IChjaGFyKWdldF9ieXRlKCk7Cisg
ICAgICBidWZmZXJbM10gPSAoY2hhcilnZXRfYnl0ZSgpOworICAgICAgc2l6ZSA9ICooaW50ICop
YnVmZmVyOworCisgICAgICBidWZmZXJbMF0gPSAoY2hhcilnZXRfYnl0ZSgpOworICAgICAgYnVm
ZmVyWzFdID0gKGNoYXIpZ2V0X2J5dGUoKTsKKyAgICAgIGJ1ZmZlclsyXSA9IChjaGFyKWdldF9i
eXRlKCk7CisgICAgICBidWZmZXJbM10gPSAoY2hhcilnZXRfYnl0ZSgpOworICAgICAgbGVuZ3Ro
ID0gKihpbnQgKilidWZmZXI7CisKKyAgICAgIGJ1ZmZlclswXSA9IChjaGFyKWdldF9ieXRlKCk7
CisgICAgICBidWZmZXJbMV0gPSAoY2hhcilnZXRfYnl0ZSgpOworICAgICAgbmFtZV9sZW5ndGgg
PSAqKHNob3J0ICopYnVmZmVyOworCisgICAgICBidWZmZXJbMF0gPSAoY2hhcilnZXRfYnl0ZSgp
OworICAgICAgYnVmZmVyWzFdID0gKGNoYXIpZ2V0X2J5dGUoKTsKKyAgICAgIGV4dHJhX2xlbmd0
aCA9ICooc2hvcnQgKilidWZmZXI7CiAKICAgICAgIGZvcihjb3VudCA9IDA7IGNvdW50IDwgbmFt
ZV9sZW5ndGg7IGNvdW50KyspCiAJewpAQCAtMjc3LDM0ICsyNzgsMzQgQEAgZXB1bnppcF9yZWFk
KGNoYXIgKnppcGZpbGVuYW1lKQogCiAJICBpZihleHRfaGVhZGVyKQogCSAgICB7Ci0JICAgICAg
KChjaGFyICopJmJ1ZmZlcilbMF0gPSAoY2hhcilnZXRfYnl0ZSgpOwotCSAgICAgICgoY2hhciAq
KSZidWZmZXIpWzFdID0gKGNoYXIpZ2V0X2J5dGUoKTsKLQkgICAgICAoKGNoYXIgKikmYnVmZmVy
KVsyXSA9IChjaGFyKWdldF9ieXRlKCk7Ci0JICAgICAgKChjaGFyICopJmJ1ZmZlcilbM10gPSAo
Y2hhcilnZXRfYnl0ZSgpOwotCSAgICAgIGlmKGJ1ZmZlciAhPSAqKGludCAqKSJQS1x4N1x4OCIp
CisJICAgICAgYnVmZmVyWzBdID0gKGNoYXIpZ2V0X2J5dGUoKTsKKwkgICAgICBidWZmZXJbMV0g
PSAoY2hhcilnZXRfYnl0ZSgpOworCSAgICAgIGJ1ZmZlclsyXSA9IChjaGFyKWdldF9ieXRlKCk7
CisJICAgICAgYnVmZmVyWzNdID0gKGNoYXIpZ2V0X2J5dGUoKTsKKwkgICAgICBpZigqKGludCAq
KWJ1ZmZlciAhPSAoJ1wwMTAnIDw8IDI0KSArICgnXDAwNycgPDwgMTYpICsgKCdLJyA8PCA4KSAr
ICdQJykKIAkJewogCQkgIGZwcmludGYobG9nX291dCwgIiVzOiBpbnZhbGlkIHppcCBmaWxlIHN0
cnVjdHVyZVxuIiwKIAkJCSAgemlwZmlsZW5hbWUpOwogCQkgIGJyZWFrOwogCQl9CiAKLQkgICAg
ICAoKGNoYXIgKikmYnVmZmVyKVswXSA9IChjaGFyKWdldF9ieXRlKCk7Ci0JICAgICAgKChjaGFy
ICopJmJ1ZmZlcilbMV0gPSAoY2hhcilnZXRfYnl0ZSgpOwotCSAgICAgICgoY2hhciAqKSZidWZm
ZXIpWzJdID0gKGNoYXIpZ2V0X2J5dGUoKTsKLQkgICAgICAoKGNoYXIgKikmYnVmZmVyKVszXSA9
IChjaGFyKWdldF9ieXRlKCk7Ci0JICAgICAgY3JjID0gYnVmZmVyOwotCi0JICAgICAgKChjaGFy
ICopJmJ1ZmZlcilbMF0gPSAoY2hhcilnZXRfYnl0ZSgpOwotCSAgICAgICgoY2hhciAqKSZidWZm
ZXIpWzFdID0gKGNoYXIpZ2V0X2J5dGUoKTsKLQkgICAgICAoKGNoYXIgKikmYnVmZmVyKVsyXSA9
IChjaGFyKWdldF9ieXRlKCk7Ci0JICAgICAgKChjaGFyICopJmJ1ZmZlcilbM10gPSAoY2hhciln
ZXRfYnl0ZSgpOwotCSAgICAgIHNpemUgPSBidWZmZXI7Ci0KLQkgICAgICAoKGNoYXIgKikmYnVm
ZmVyKVswXSA9IChjaGFyKWdldF9ieXRlKCk7Ci0JICAgICAgKChjaGFyICopJmJ1ZmZlcilbMV0g
PSAoY2hhcilnZXRfYnl0ZSgpOwotCSAgICAgICgoY2hhciAqKSZidWZmZXIpWzJdID0gKGNoYXIp
Z2V0X2J5dGUoKTsKLQkgICAgICAoKGNoYXIgKikmYnVmZmVyKVszXSA9IChjaGFyKWdldF9ieXRl
KCk7Ci0JICAgICAgbGVuZ3RoID0gYnVmZmVyOworCSAgICAgIGJ1ZmZlclswXSA9IChjaGFyKWdl
dF9ieXRlKCk7CisJICAgICAgYnVmZmVyWzFdID0gKGNoYXIpZ2V0X2J5dGUoKTsKKwkgICAgICBi
dWZmZXJbMl0gPSAoY2hhcilnZXRfYnl0ZSgpOworCSAgICAgIGJ1ZmZlclszXSA9IChjaGFyKWdl
dF9ieXRlKCk7CisJICAgICAgY3JjID0gKihpbnQgKilidWZmZXI7CisKKwkgICAgICBidWZmZXJb
MF0gPSAoY2hhcilnZXRfYnl0ZSgpOworCSAgICAgIGJ1ZmZlclsxXSA9IChjaGFyKWdldF9ieXRl
KCk7CisJICAgICAgYnVmZmVyWzJdID0gKGNoYXIpZ2V0X2J5dGUoKTsKKwkgICAgICBidWZmZXJb
M10gPSAoY2hhcilnZXRfYnl0ZSgpOworCSAgICAgIHNpemUgPSAqKGludCAqKWJ1ZmZlcjsKKwor
CSAgICAgIGJ1ZmZlclswXSA9IChjaGFyKWdldF9ieXRlKCk7CisJICAgICAgYnVmZmVyWzFdID0g
KGNoYXIpZ2V0X2J5dGUoKTsKKwkgICAgICBidWZmZXJbMl0gPSAoY2hhcilnZXRfYnl0ZSgpOwor
CSAgICAgIGJ1ZmZlclszXSA9IChjaGFyKWdldF9ieXRlKCk7CisJICAgICAgbGVuZ3RoID0gKihp
bnQgKilidWZmZXI7CiAJICAgIH0KIAogCX0K
--0015176f1b08dfab7504a6f34243--

- Raw text -


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