delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2017/03/06/14:03:15

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20161025;
h=mime-version:in-reply-to:references:from:date:message-id:subject:to;
bh=0IRQ1XWlDPgttUplKn1nAAMStbHG0R0qodQK/SV6TKw=;
b=BckcKY/VDUv/t7F+oVuRQ/SNBFvP3boc5YAmwNlghdJ3fGY5eSMBeR4739clIbpbek
PULtAgO2mDocQK7Bzg6xW+wfZWKVvB4TNL0MVDsXw9qV3NMxCsvahQ7i1eUBQw7WNNij
566FPjG1jnZ7Ato+QXDzAVnh0sN2jckGahMvUf/qaannb6CJuxq8mSmH1eeYF61YyOtP
fH43Pm5culnM7xBoSwVAEP1GzbaafLcGuwC2bXfXXWK3zMh9tuy0e0ACa3o6tYxxUscF
gs4rtoypfNuSyXT/CbJN01RnoCqqCNEPUikvB0KuSlwW+NHrSopLa7+6LPQcNSPvsf7C
+Rdg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:mime-version:in-reply-to:references:from:date
:message-id:subject:to;
bh=0IRQ1XWlDPgttUplKn1nAAMStbHG0R0qodQK/SV6TKw=;
b=qsfrIEbhM9r6xolEUDk3t8vFwW/X5nPH70FKI1NWY8RxLygfmOljfsTwhKJLRn9aYv
0IhzEhomA//ueoPmV9cGFDlSvNd79qG2jPSkEAOfDg3jGlqoLtaU6ybIbHeUOzesBPJ4
iB6FeP1Hg+gtk57uNy6n3Xhu7lsZ82J7D/ltSpWfoclRsd02dWKAn+UGcrVlK2B5I3Z6
9VBsTNONQpwgdmqAFwPd8wjIjZZ+Qxv5+Im6VVsKTKhCnNZtYSdJWzpfiCgUefpXHG8W
0M9DQeZ1bf9SApK0FiQkT/+ze9oKgxWYQWk/pPCO0PAL1KIx6BKPRyn7DB7RXVkAVR3T
r8ig==
X-Gm-Message-State: AMke39nCbpv0cSl5q49D3kal3NOyygw/SRv9Gl2sycIjw6vbinBCVjuSUv6mmLh1p3wJognQ9bc/EgMe4wxD5Q==
X-Received: by 10.223.172.77 with SMTP id v71mr18315273wrc.131.1488826896013;
Mon, 06 Mar 2017 11:01:36 -0800 (PST)
MIME-Version: 1.0
In-Reply-To: <CAGqyy=bjaaMDLLybUPdE=3h1eb4puBmHQuJL4YwFy8Nvyv5R9A@mail.gmail.com>
References: <CAGqyy=bjaaMDLLybUPdE=3h1eb4puBmHQuJL4YwFy8Nvyv5R9A AT mail DOT gmail DOT com>
From: "Luis de Arquer (ldearquer AT gmail DOT com) [via geda-user AT delorie DOT com]" <geda-user AT delorie DOT com>
Date: Mon, 6 Mar 2017 20:01:35 +0100
Message-ID: <CAGqyy=a7SFSnSUeBSiZBYFidGB=k3B=DQfHZD=Z6YqLn6FEj3w@mail.gmail.com>
Subject: [geda-user] Rubberband move keeping lines direction
To: geda-user <geda-user AT delorie DOT com>
Reply-To: geda-user AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: geda-user AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

--f403045d57564500ab054a14869c
Content-Type: text/plain; charset=UTF-8

Hi all,

I have been lately working on my spare time on trying to make the
"rubberband" move keep track directions, when moving a line attached
to other two lines, one on each end. I did it mostly for fun, so I
don't really know whether it is already something in progress. I know
the current git version can't do it though.

It works fine with the "ghost" copy that moves when the line is
dragged, and it (should) work with any line direction. Mainly, the strategy is:

- When moving, determine whether there are two rubberband lines
attached (this test is ridiculously weak, but just to get started...)

- If so, determine how the line and the rubberband lines should move
to keep their directions. To do this, I had to create fgeometry.c,
which does floating point geometry. I couldn't figure out how to do it
with integer arithmetic (e.g. just like polygon creation), but that's
just me... The logic is implemented at FitCrosshairIntoGrid( ), surely
not the right place, but it works ok-ish

- In the RubberbandType struct, add DX and DY fields, to indicate how
things have to move when in this mode.

- And make XORDrawMoveOrCopyObject( ) to take these DX and DY fields
into account when moving.

Thing is, the actual movement is still not fully implemented. I am
doing it on MoveObjectAndRubberband( ).
I don't really know who to do it nicely. The line (main line being
moved, not neighbour lines) movement is not a "move line" action
anymore, but two "move pointline" actions. So it would look weird on
the Undo history. Would that be OK?

Hope it makes sense. If anyone could try the patch and give me some
feedback it would be great!

Luis

P.S. Just to clarify, the feature works fine with the "ghost" lines. It is
the actual movement, when the mouse button is released, that is not
completed due to the Undo history thing, which I don't know how to
deal with.

--f403045d57564500ab054a14869c
Content-Type: text/x-patch; charset=UTF-8; name="rubberband_keep_direction.patch"
Content-Disposition: attachment; filename="rubberband_keep_direction.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: file0

ZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwppbmRleCBkYjA0ZTY1Li5m
NmJiNDg5IDEwMDY0NAotLS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29uZmlndXJlLmFjCkBAIC0x
MTksNyArMTE5LDcgQEAgQUhfVEVNUExBVEUoW0dFVFRFWFRfUEFDS0FHRV0sIFtOYW1lIG9mIHRo
aXMgcHJvZ3JhbSdzIGdldHRleHQgZG9tYWluXSkKIEFDX0RFRklORV9VTlFVT1RFRChbR0VUVEVY
VF9QQUNLQUdFXSwgWyIkR0VUVEVYVF9QQUNLQUdFIl0pCiBBQ19TVUJTVChHRVRURVhUX1BBQ0tB
R0UpCiAKLUFNX0dOVV9HRVRURVhUX1ZFUlNJT04oWzAuMTkuM10pCitBTV9HTlVfR0VUVEVYVF9W
RVJTSU9OKFswLjE4LjNdKQogQU1fR05VX0dFVFRFWFQKIAogQUNfTVNHX0NIRUNLSU5HKFtpZiAk
TVNHRk1UIHVuZGVyc3RhbmRzIG1zZ2N0eHQgKG1lc3NhZ2UgY29udGV4dCldKQpkaWZmIC0tZ2l0
IGEvc3JjL01ha2VmaWxlLmFtIGIvc3JjL01ha2VmaWxlLmFtCmluZGV4IDA1OGMxMGYuLmQ4OGZi
NjYgMTAwNjQ0Ci0tLSBhL3NyYy9NYWtlZmlsZS5hbQorKysgYi9zcmMvTWFrZWZpbGUuYW0KQEAg
LTY0LDYgKzY0LDggQEAgUENCX1NSQ1MgPSBcCiAJZWRpZl9wYXJzZS5oIFwKIAllcnJvci5jIFwK
IAllcnJvci5oIFwKKwlmZ2VvbWV0cnkuYyBcCisJZmdlb21ldHJ5LmggXAogCWZpbGUuYyBcCiAJ
ZmlsZS5oIFwKIAlmaW5kLmMgXApkaWZmIC0tZ2l0IGEvc3JjL2NyZWF0ZS5jIGIvc3JjL2NyZWF0
ZS5jCmluZGV4IGQ0MWI0NTYuLjQ1Y2Q3YjYgMTAwNjQ0Ci0tLSBhL3NyYy9jcmVhdGUuYworKysg
Yi9zcmMvY3JlYXRlLmMKQEAgLTEwMjAsNiArMTAyMCw4IEBAIENyZWF0ZU5ld1J1YmJlcmJhbmRF
bnRyeSAoTGF5ZXJUeXBlICpMYXllciwKICAgcHRyLT5MYXllciA9IExheWVyOwogICBwdHItPkxp
bmUgPSBMaW5lOwogICBwdHItPk1vdmVkUG9pbnQgPSBNb3ZlZFBvaW50OworICBwdHItPkRYID0g
LTE7CisgIHB0ci0+RFkgPSAtMTsKICAgcmV0dXJuIChwdHIpOwogfQogCmRpZmYgLS1naXQgYS9z
cmMvY3Jvc3NoYWlyLmMgYi9zcmMvY3Jvc3NoYWlyLmMKaW5kZXggYzhjZTY1My4uNTM0MTgyNyAx
MDA2NDQKLS0tIGEvc3JjL2Nyb3NzaGFpci5jCisrKyBiL3NyYy9jcm9zc2hhaXIuYwpAQCAtNDks
NiArNDksNyBAQAogI2luY2x1ZGUgIm15bWVtLmgiCiAjaW5jbHVkZSAic2VhcmNoLmgiCiAjaW5j
bHVkZSAicG9seWdvbi5oIgorI2luY2x1ZGUgImZnZW9tZXRyeS5oIgogCiAjaWZkZWYgSEFWRV9M
SUJETUFMTE9DCiAjaW5jbHVkZSA8ZG1hbGxvYy5oPgpAQCAtNDQ3LDkgKzQ0OCwyMCBAQCBYT1JE
cmF3TW92ZU9yQ29weU9iamVjdCAoaGlkR0MgZ2MpCiAgICAgICB7CiAJTGluZVR5cGUgKmxpbmUg
PSAoTGluZVR5cGUgKikgQ3Jvc3NoYWlyLkF0dGFjaGVkT2JqZWN0LlB0cjI7CiAKLQlYT1JEcmF3
QXR0YWNoZWRMaW5lIChnYywgbGluZS0+UG9pbnQxLlggKyBkeCwgbGluZS0+UG9pbnQxLlkgKyBk
eSwKKwlpID0gQ3Jvc3NoYWlyLkF0dGFjaGVkT2JqZWN0LlJ1YmJlcmJhbmROOworCXB0ciA9IENy
b3NzaGFpci5BdHRhY2hlZE9iamVjdC5SdWJiZXJiYW5kOworCWlmIChpID09IDIgJiYgcHRyLT5E
WCAhPSAtMSkKKwl7CisJCVhPUkRyYXdBdHRhY2hlZExpbmUgKGdjLCBsaW5lLT5Qb2ludDEuWCAr
IHB0clswXS5EWCwgbGluZS0+UG9pbnQxLlkgKyBwdHJbMF0uRFksCisJICAgICAgICAgICAgICAg
ICAgICAgICAgIGxpbmUtPlBvaW50Mi5YICsgcHRyWzFdLkRYLCBsaW5lLT5Qb2ludDIuWSArIHB0
clsxXS5EWSwKKwkgICAgICAgICAgICAgICAgICAgICBsaW5lLT5UaGlja25lc3MpOworCX0KKwll
bHNlCisJeworCQlYT1JEcmF3QXR0YWNoZWRMaW5lIChnYywgbGluZS0+UG9pbnQxLlggKyBkeCwg
bGluZS0+UG9pbnQxLlkgKyBkeSwKIAkgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS0+UG9p
bnQyLlggKyBkeCwgbGluZS0+UG9pbnQyLlkgKyBkeSwKIAkgICAgICAgICAgICAgICAgICAgICBs
aW5lLT5UaGlja25lc3MpOworCX0KIAlicmVhazsKICAgICAgIH0KIApAQCAtNTY5LDkgKzU4MSwx
OCBAQCBYT1JEcmF3TW92ZU9yQ29weU9iamVjdCAoaGlkR0MgZ2MpCiAJICAgICAgcG9pbnQxID0g
JnB0ci0+TGluZS0+UG9pbnQxOwogCSAgICAgIHBvaW50MiA9ICZwdHItPkxpbmUtPlBvaW50MjsK
IAkgICAgfQotCSAgWE9SRHJhd0F0dGFjaGVkTGluZSAoZ2MsIHBvaW50MS0+WCwgcG9pbnQxLT5Z
LAotCSAgICAgICAgICAgICAgICAgICAgICAgcG9pbnQyLT5YICsgZHgsIHBvaW50Mi0+WSArIGR5
LAotCSAgICAgICAgICAgICAgICAgICAgICAgcHRyLT5MaW5lLT5UaGlja25lc3MpOworCSAgICBp
ZiAocHRyLT5EWCA9PSAtMSkKKyAgICAgIHsKKwkgICAgICBYT1JEcmF3QXR0YWNoZWRMaW5lIChn
YywgcG9pbnQxLT5YLCBwb2ludDEtPlksCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBv
aW50Mi0+WCArIGR4LCBwb2ludDItPlkgKyBkeSwKKwkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcHRyLT5MaW5lLT5UaGlja25lc3MpOworCSAgICB9CisJICAgIGVsc2UKKwkgICAgeworCSAg
ICAgIFhPUkRyYXdBdHRhY2hlZExpbmUgKGdjLCBwb2ludDEtPlgsIHBvaW50MS0+WSwKKwkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnQyLT5YICsgcHRyLT5EWCwgcG9pbnQyLT5ZICsg
cHRyLT5EWSwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyLT5MaW5lLT5UaGlja25l
c3MpOworCSAgICB9CiAJfQogICAgICAgZWxzZSBpZiAocHRyLT5Nb3ZlZFBvaW50ID09ICZwdHIt
PkxpbmUtPlBvaW50MSkKIAlYT1JEcmF3QXR0YWNoZWRMaW5lIChnYywKQEAgLTEwMjEsNiArMTA0
Miw5MiBAQCBGaXRDcm9zc2hhaXJJbnRvR3JpZCAoQ29vcmQgWCwgQ29vcmQgWSkKIAkgIGVsc2UK
IAkgICAgbmVhcmVzdF9ncmlkX3ggPSBNYXJrZWQuWDsKIAl9CisJICAgIC8qIE1vdmUga2VlcGlu
ZyBydWJiZXJiYW5kIGxpbmVzIGRpcmVjdGlvbiAqLworICAgICAgaWYgKCBDcm9zc2hhaXIuQXR0
YWNoZWRPYmplY3QuVHlwZSA9PSBMSU5FX1RZUEUgJiYKKyAgICAgICAgICAgIENyb3NzaGFpci5B
dHRhY2hlZE9iamVjdC5SdWJiZXJiYW5kTiA9PSAyKQorICAgICAgeworICAgICAgICBMaW5lVHlw
ZSAqbGluZSA9IChMaW5lVHlwZSopIENyb3NzaGFpci5BdHRhY2hlZE9iamVjdC5QdHIyOworICAg
ICAgICBMaW5lVHlwZSAqcnViMSA9IChMaW5lVHlwZSopIENyb3NzaGFpci5BdHRhY2hlZE9iamVj
dC5SdWJiZXJiYW5kWzBdLkxpbmU7CisgICAgICAgIExpbmVUeXBlICpydWIyID0gKExpbmVUeXBl
KikgQ3Jvc3NoYWlyLkF0dGFjaGVkT2JqZWN0LlJ1YmJlcmJhbmRbMV0uTGluZTsKKworICAgICAg
ICAvKiBDcmVhdGUgZmxvYXQgcG9pbnQtdmVjdG9yIHJlcHJlc2VudGF0aW9ucyBvZiB0aGUgbGlu
ZXMgKi8KKyAgICAgICAgZmxpbmUgZm1haW4sIGZydWIxLCBmcnViMjsKKyAgICAgICAgZm1haW4g
PSBmbGluZV9jcmVhdGVfZnJvbV9wb2ludHMgKCZsaW5lLT5Qb2ludDEsICZsaW5lLT5Qb2ludDIp
OworICAgICAgICBpZiAoQ3Jvc3NoYWlyLkF0dGFjaGVkT2JqZWN0LlJ1YmJlcmJhbmRbMF0uTW92
ZWRQb2ludCA9PSAmcnViMS0+UG9pbnQxKQorICAgICAgICAgIGZydWIxID0gZmxpbmVfY3JlYXRl
X2Zyb21fcG9pbnRzICgmcnViMS0+UG9pbnQxLCAmcnViMS0+UG9pbnQyKTsKKyAgICAgICAgZWxz
ZQorICAgICAgICAgIGZydWIxID0gZmxpbmVfY3JlYXRlX2Zyb21fcG9pbnRzICgmcnViMS0+UG9p
bnQyLCAmcnViMS0+UG9pbnQxKTsKKyAgICAgICAgCisgICAgICAgIGlmIChDcm9zc2hhaXIuQXR0
YWNoZWRPYmplY3QuUnViYmVyYmFuZFsxXS5Nb3ZlZFBvaW50ID09ICZydWIyLT5Qb2ludDEpCisg
ICAgICAgICAgZnJ1YjIgPSBmbGluZV9jcmVhdGVfZnJvbV9wb2ludHMgKCZydWIyLT5Qb2ludDEs
ICZydWIyLT5Qb2ludDIpOworICAgICAgICBlbHNlCisgICAgICAgICAgZnJ1YjIgPSBmbGluZV9j
cmVhdGVfZnJvbV9wb2ludHMgKCZydWIyLT5Qb2ludDIsICZydWIyLT5Qb2ludDEpOworICAgICAg
ICAKKyAgICAgICAgLyogSWYgdGhleSBhcmUgdmFsaWQgKG5vbi1udWxsIGRpcmVjdGlvbnMpIHdl
IGNhcnJ5IG9uICovCisgICAgICAgIGlmIChmbGluZV9pc192YWxpZChmbWFpbikgJiYgZmxpbmVf
aXNfdmFsaWQoZnJ1YjEpICYmIGZsaW5lX2lzX3ZhbGlkKGZydWIyKSkKKyAgICAgICAgeworICAg
ICAgICAgIGZ2ZWN0b3IgZm1vdmU7CisgICAgICAgICAgCisgICAgICAgICAgZnZlY3RvciBmaW50
ZXJzZWN0aW9uID0gZmxpbmVfaW50ZXJzZWN0aW9uKGZydWIxLCBmcnViMik7CisgICAgICAgICAg
ICAgICAgICAgIAorICAgICAgICAgIGlmICghZnZlY3Rvcl9pc19udWxsKGZpbnRlcnNlY3Rpb24p
KQorICAgICAgICAgIHsKKyAgICAgICAgICAJLyogTW92ZW1lbnQgZGlyZWN0aW9uIGRlZmluZWQg
YXMgZnJvbSBtaWQgbGluZSB0byBpbnRlcnNlY3Rpb24gcG9pbnQgKi8KKyAgICAgICAgICAJZnZl
Y3RvciBmbWlkOworICAgICAgICAgIAlmbWlkLnggPSAoKGRvdWJsZSlsaW5lLT5Qb2ludDIuWCAr
IGxpbmUtPlBvaW50MS5YKSAvIDIuMDsKKyAgICAgICAgICAJZm1pZC55ID0gKChkb3VibGUpbGlu
ZS0+UG9pbnQyLlkgKyBsaW5lLT5Qb2ludDEuWSkgLyAyLjA7CisgICAgICAgICAgCWZtb3ZlLngg
PSBmaW50ZXJzZWN0aW9uLnggLSBmbWlkLng7CisgICAgICAgICAgCWZtb3ZlLnkgPSBmaW50ZXJz
ZWN0aW9uLnkgLSBmbWlkLnk7CisgICAgICAgICAgfQorICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICB7CisgICAgICAgICAgICAvKiBObyBpbnRlcnNlY3Rpb24uIFJ1YmJlcmJhbmQgbGluZXMgYXJl
IHBhcmFsbGVsICovCisgICAgICAgICAgICBmbW92ZS54ID0gZnJ1YjEuZGlyZWN0aW9uLng7Cisg
ICAgICAgICAgICBmbW92ZS55ID0gZnJ1YjEuZGlyZWN0aW9uLnk7CisgICAgICAgICAgfSAgICAg
ICAJCisgICAgICAgIAkgICAgICAgIAkKKyAgICAgICAgCWlmICghZnZlY3Rvcl9pc19udWxsKGZt
b3ZlKSkKKyAgICAgICAgCXsKKyAgICAgICAgICAgIGZ2ZWN0b3Jfbm9ybWFsaXplKCZmbW92ZSk7
CisKKyAgICAgICAgICAgIC8qIEN1cnNvciBkZWx0YSB2ZWN0b3IgKi8KKyAgICAgICAgICAgIGZ2
ZWN0b3IgZmN1cnNvcl9kZWx0YTsKKyAgICAgICAgICAgIGZjdXJzb3JfZGVsdGEueCA9IENyb3Nz
aGFpci5YIC0gTWFya2VkLlg7CisgICAgICAgICAgICBmY3Vyc29yX2RlbHRhLnkgPSBDcm9zc2hh
aXIuWSAtIE1hcmtlZC5ZOworCisgICAgICAgICAgICAvKiBDdXJzb3IgZGVsdGEgcHJvamVjdGlv
biBvbiBtb3ZlbWVudCBkaXJlY3Rpb24gKi8KKyAgICAgICAgICAgIGRvdWJsZSBhbW91bnRfbW92
ZWQgPSBmdmVjdG9yX2RvdChmbW92ZSwgZmN1cnNvcl9kZWx0YSk7CisKKyAgICAgICAgICAgIC8q
IFNjYWxlIGZtb3ZlIGJ5IGNhbGN1bGF0ZWQgYW1vdW50ICovCisgICAgICAgICAgICBmdmVjdG9y
IGZtb3ZlX3RvdGFsOworICAgICAgICAgICAgZm1vdmVfdG90YWwueCA9IGZtb3ZlLnggKiBhbW91
bnRfbW92ZWQ7CisgICAgICAgICAgICBmbW92ZV90b3RhbC55ID0gZm1vdmUueSAqIGFtb3VudF9t
b3ZlZDsKKworICAgICAgICAgICAgLyogVXBkYXRlIHZhbHVlcyBmb3IgbmVhcmVzdF9ncmlkIGFu
ZCBSdWJiZXJiYW5kIGxpbmVzICovCisgICAgICAgICAgICBuZWFyZXN0X2dyaWRfeCA9IE1hcmtl
ZC5YICsgZm1vdmVfdG90YWwueDsKKyAgICAgICAgICAgIG5lYXJlc3RfZ3JpZF95ID0gTWFya2Vk
LlkgKyBmbW92ZV90b3RhbC55OworCisgICAgICAgICAgICAvKiBNb3ZlIHJ1YmJlcmJhbmQ6IGZt
b3ZlX3RvdGFswrdub3JtYWwgPSBmbW92ZV9ydWJiZXJiYW5kwrdub3JtYWwKKyAgICAgICAgICAg
ICAqIHdoZXJlIG5vcm1hbCBpcyB0aGUgbW92aW5nIGxpbmUgbm9ybWFsCisgICAgICAgICAgICAg
Ki8KKyAgICAgICAgICAgIGZ2ZWN0b3IgZm5vcm1hbDsKKyAgICAgICAgICAgIGZub3JtYWwueCA9
IGZtYWluLmRpcmVjdGlvbi55OworICAgICAgICAgICAgZm5vcm1hbC55ID0gLWZtYWluLmRpcmVj
dGlvbi54OworICAgICAgICAgICAgaWYgKGZ2ZWN0b3JfZG90KGZub3JtYWwsIGZtb3ZlKSA8IDAp
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgIGZub3JtYWwueCA9IC1mbm9ybWFsLng7Cisg
ICAgICAgICAgICAgIGZub3JtYWwueSA9IC1mbm9ybWFsLnk7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICBkb3VibGUgcnViMV9tb3ZlID0gYW1vdW50X21vdmVkICogZnZlY3Rvcl9kb3QoZm1v
dmUsIGZub3JtYWwpIC8gZnZlY3Rvcl9kb3QoZnJ1YjEuZGlyZWN0aW9uLCBmbm9ybWFsKTsKKyAg
ICAgICAgICAgIENyb3NzaGFpci5BdHRhY2hlZE9iamVjdC5SdWJiZXJiYW5kWzBdLkRYID0gcnVi
MV9tb3ZlKmZydWIxLmRpcmVjdGlvbi54OworICAgICAgICAgICAgQ3Jvc3NoYWlyLkF0dGFjaGVk
T2JqZWN0LlJ1YmJlcmJhbmRbMF0uRFkgPSBydWIxX21vdmUqZnJ1YjEuZGlyZWN0aW9uLnk7Cisg
ICAgICAgICAgICAKKyAgICAgICAgICAgIGRvdWJsZSBydWIyX21vdmUgPSBhbW91bnRfbW92ZWQg
KiBmdmVjdG9yX2RvdChmbW92ZSwgZm5vcm1hbCkgLyBmdmVjdG9yX2RvdChmcnViMi5kaXJlY3Rp
b24sIGZub3JtYWwpOworICAgICAgICAgICAgQ3Jvc3NoYWlyLkF0dGFjaGVkT2JqZWN0LlJ1YmJl
cmJhbmRbMV0uRFggPSBydWIyX21vdmUqZnJ1YjIuZGlyZWN0aW9uLng7CisgICAgICAgICAgICBD
cm9zc2hhaXIuQXR0YWNoZWRPYmplY3QuUnViYmVyYmFuZFsxXS5EWSA9IHJ1YjJfbW92ZSpmcnVi
Mi5kaXJlY3Rpb24ueTsKKyAgICAgICAgCX0KKwkgICAgICB9CisgICAgICB9CiAKICAgICB9CiAK
ZGlmZiAtLWdpdCBhL3NyYy9nbG9iYWwuaCBiL3NyYy9nbG9iYWwuaAppbmRleCBmYzk1Mjg4Li5j
NWMzMzhkIDEwMDY0NAotLS0gYS9zcmMvZ2xvYmFsLmgKKysrIGIvc3JjL2dsb2JhbC5oCkBAIC02
NTIsNiArNjUyLDggQEAgdHlwZWRlZiBzdHJ1Y3QKICAgTGF5ZXJUeXBlICpMYXllcjsgLyohPCBM
YXllciB0aGF0IGhvbGRzIHRoZSBsaW5lLiAqLwogICBMaW5lVHlwZSAqTGluZTsgLyohPCBUaGUg
bGluZSBpdHNlbGYuICovCiAgIFBvaW50VHlwZSAqTW92ZWRQb2ludDsgLyohPCBBbmQgZmluYWxs
eSB0aGUgcG9pbnQuICovCisgIENvb3JkIERYOworICBDb29yZCBEWTsKIH0gUnViYmVyYmFuZFR5
cGU7CiAKIC8qIQpkaWZmIC0tZ2l0IGEvc3JjL21vdmUuYyBiL3NyYy9tb3ZlLmMKaW5kZXggZGZh
ZjYxMy4uN2M5ZDQxYyAxMDA2NDQKLS0tIGEvc3JjL21vdmUuYworKysgYi9zcmMvbW92ZS5jCkBA
IC04MDksNyArODA5LDcgQEAgTW92ZU9iamVjdEFuZFJ1YmJlcmJhbmQgKGludCBUeXBlLCB2b2lk
ICpQdHIxLCB2b2lkICpQdHIyLCB2b2lkICpQdHIzLAogICAvKiBzZXR1cCBvZmZzZXQgKi8KICAg
RGVsdGFYID0gRFg7CiAgIERlbHRhWSA9IERZOwotCisgIAogICAvKiBtb3ZlIGFsbCB0aGUgbGlu
ZXMuLi4gYW5kIHJlc2V0IHRoZSBjb3VudGVyICovCiAgIHB0ciA9IENyb3NzaGFpci5BdHRhY2hl
ZE9iamVjdC5SdWJiZXJiYW5kOwogICB3aGlsZSAoQ3Jvc3NoYWlyLkF0dGFjaGVkT2JqZWN0LlJ1
YmJlcmJhbmROKQpAQCAtODE5LDEwICs4MTksMjYgQEAgTW92ZU9iamVjdEFuZFJ1YmJlcmJhbmQg
KGludCBUeXBlLCB2b2lkICpQdHIxLCB2b2lkICpQdHIyLCB2b2lkICpQdHIzLAogICAgICAgLyog
b25seSB1cGRhdGUgdW5kbyBsaXN0IGlmIGFuIGFjdHVhbCBtb3ZlbWVudCBoYXBwZW5lZCAqLwog
ICAgICAgaWYgKERYICE9IDAgfHwgRFkgIT0gMCkKICAgICAgICAgewotICAgICAgICAgIEFkZE9i
amVjdFRvTW92ZVVuZG9MaXN0IChMSU5FUE9JTlRfVFlQRSwKKyAgICAgICAgICBpZiAocHRyLT5E
WCA9PSAtMSkKKyAgICAgICAgICB7CisgICAgICAgICAgICBwcmludGYoIk1vdmUgbm9ybWFsXG4i
KTsKKyAgICAgICAgICAgIEFkZE9iamVjdFRvTW92ZVVuZG9MaXN0IChMSU5FUE9JTlRfVFlQRSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHRyLT5MYXllciwgcHRyLT5MaW5l
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdHItPk1vdmVkUG9pbnQsIERY
LCBEWSk7CisgICAgICAgICAgfQorICAgICAgICAgIGVsc2UKKyAgICAgICAgICB7CisgICAgICAg
ICAgICBwcmludGYoIk1vdmUgY3VzdG9tXG4iKTsKKyAgICAgICAgICAgIEFkZE9iamVjdFRvTW92
ZVVuZG9MaXN0IChMSU5FUE9JTlRfVFlQRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcHRyLT5MYXllciwgcHRyLT5MaW5lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdHItPk1vdmVkUG9pbnQsIHB0ci0+RFgsIHB0ci0+RFkpOworICAgICAgICAgICAg
RGVsdGFYID0gcHRyLT5EWDsKKyAgICAgICAgICAgIERlbHRhWSA9IHB0ci0+RFk7CisgICAgICAg
ICAgfQogICAgICAgICAgIE1vdmVMaW5lUG9pbnQgKHB0ci0+TGF5ZXIsIHB0ci0+TGluZSwgcHRy
LT5Nb3ZlZFBvaW50KTsKKyAgICAgICAgICAvKiBSZXN0b3JlIERlbHRhICovCisgICAgICAgICAg
RGVsdGFYID0gRFg7CisgICAgICAgICAgRGVsdGFZID0gRFk7CiAgICAgICAgIH0KICAgICAgIENy
b3NzaGFpci5BdHRhY2hlZE9iamVjdC5SdWJiZXJiYW5kTi0tOwogICAgICAgcHRyKys7Cg==
--f403045d57564500ab054a14869c--

- Raw text -


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