From owner-freebsd-bluetooth@FreeBSD.ORG Thu Oct 21 22:36:37 2010 Return-Path: Delivered-To: freebsd-bluetooth@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A148C1065670 for ; Thu, 21 Oct 2010 22:36:37 +0000 (UTC) (envelope-from maksim.yevmenkin@gmail.com) Received: from mail-iw0-f182.google.com (mail-iw0-f182.google.com [209.85.214.182]) by mx1.freebsd.org (Postfix) with ESMTP id 62C4B8FC12 for ; Thu, 21 Oct 2010 22:36:37 +0000 (UTC) Received: by iwn41 with SMTP id 41so113022iwn.13 for ; Thu, 21 Oct 2010 15:36:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=PZJKkP2PZeY4F9Ooo2n0WljK8IO8njZJfnMZjX4ATg4=; b=G5f8YKDvmBfpyAURk6Wzxx/zuiCn0vYEIB0u9YkZABOB5mOEB5c+RvIWUFE7EAFB5r KD0h8sb79c0bNhPa7jsWp2rHR7jQi35ZzvCOL9Hu0UxDqfMRldWYvboBJ5/p2i/JgA0v l/pyVytbZkH3VrB82QeotVSBoaXy24T/6+jcw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=KiK7ImDdN9SM+nr8risxYxM5CloMQho9TICspDmbcPHrwu04krOFIzJblACjtjluja zEIrqm9odXTeY9e5rjhw66i7Xebp0V6SA1s8eiHsjclL4CG5m4N9kRhjJ0oQI041A1rr 9Q/lbtLY/0JBPgMrjvqaL7C37VdppjrsdbzLI= MIME-Version: 1.0 Received: by 10.231.154.73 with SMTP id n9mr1675961ibw.10.1287700596670; Thu, 21 Oct 2010 15:36:36 -0700 (PDT) Received: by 10.231.215.169 with HTTP; Thu, 21 Oct 2010 15:36:36 -0700 (PDT) In-Reply-To: <1287561876.893861.6837.nullmailer@galant.ukfsn.org> References: <1287509041.022618.4884.nullmailer@galant.ukfsn.org> <1287561876.893861.6837.nullmailer@galant.ukfsn.org> Date: Thu, 21 Oct 2010 15:36:36 -0700 Message-ID: From: Maksim Yevmenkin To: Iain Hibbert Content-Type: multipart/mixed; boundary=005045016771a43f390493282828 Cc: freebsd-bluetooth@freebsd.org Subject: Re: obexapp print stream statistics after transfer X-BeenThere: freebsd-bluetooth@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Using Bluetooth in FreeBSD environments List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2010 22:36:37 -0000 --005045016771a43f390493282828 Content-Type: text/plain; charset=ISO-8859-1 Iain, On Wed, Oct 20, 2010 at 1:04 AM, Iain Hibbert wrote: > On Tue, 19 Oct 2010, Maksim Yevmenkin wrote: > >> thanks for all the patches! could you please try the combined patch >> (attached) and make sure it still works for you? > > yes, its still working fine thanks > > - in retrospect I wasn't sure about the last one, if using printf() is ok? it should be fine > one more patch attached, with two parts > > - not really important as they won't be called but later versions of > openobex (using 1.5) provide some more event hooks might be interesting > for somebody :) sounds good > - I never have seen the spinner, fflush(stdout) to force visibility sure :) > I was trying to get back to another thing I was working on earlier this > year, to split up the OPUSH and FTRN services so that I could have > different settings. I've not got far with it though, maybe next week :) cool thanks for your patches, Iain. please find attached combined patch. please let me know if this works, and i will commit and release next version thanks max --005045016771a43f390493282828 Content-Type: text/plain; charset=US-ASCII; name="obexapp.iain.combined.txt" Content-Disposition: attachment; filename="obexapp.iain.combined.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gfk7of1i1 SW5kZXg6IGNsaWVudC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC91c3IvbG9jYWwvY3ZzL3BvcnRz L29iZXhhcHAvY2xpZW50LmMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTkKZGlmZiAtdSAtcjEu MTkgY2xpZW50LmMKLS0tIGNsaWVudC5jCTggSmFuIDIwMTAgMTg6MzE6MjIgLTAwMDAJMS4xOQor KysgY2xpZW50LmMJMTkgT2N0IDIwMTAgMTc6NTE6MDUgLTAwMDAKQEAgLTUwLDYgKzUwLDcgQEAK ICNpbmNsdWRlICJjbGllbnQuaCIKICNpbmNsdWRlICJldmVudC5oIgogI2luY2x1ZGUgImxvZy5o IgorI2luY2x1ZGUgInN0cmVhbS5oIgogI2luY2x1ZGUgInV0aWwuaCIKIAogLyoKQEAgLTc2OSw2 ICs3NzAsOCBAQAogCQkJbG9nX2VycigiJXMoKTogQ291bGQgbm90IGFkZCBIRFJfQk9EWSIsIF9f ZnVuY19fKTsKIAkJCWdvdG8gZG9uZTsKIAkJfQorCisJCW9iZXhhcHBfc3RyZWFtX3N0YXRzX3Jl c2V0KGNvbnRleHQpOwogCQlicmVhazsKIAogCWNhc2UgT0JFWEFQUF9QVVRfQ1JFQVRFX0VNUFRZ OgpAQCAtODAzLDggKzgwNiwxMiBAQAogCiAJaWYgKGNvbnRleHQtPnJzcCAhPSBPQkVYX1JTUF9T VUNDRVNTKQogCQllcnJvciA9IC0xOwotCWVsc2UKKwllbHNlIHsKIAkJZXJyb3IgPSAwOworCQlp ZiAob3Bjb2RlID09IE9CRVhBUFBfUFVUKQorCQkJb2JleGFwcF9zdHJlYW1fc3RhdHNfcHJpbnQo Y29udGV4dCk7CisJfQorCiBkb25lOgogCWlmIChvYmplY3QgIT0gTlVMTCkgewogCQlPQkVYX09i amVjdERlbGV0ZShoYW5kbGUsIG9iamVjdCk7CkBAIC05MDksNiArOTE2LDcgQEAKIAkJCWdvdG8g ZG9uZTsKIAkJfQogCisJCW9iZXhhcHBfc3RyZWFtX3N0YXRzX3Jlc2V0KGNvbnRleHQpOwogCQlP QkVYX09iamVjdFJlYWRTdHJlYW0oaGFuZGxlLCBvYmplY3QsIE5VTEwpOwogCQlicmVhazsKIApA QCAtOTkwLDYgKzk5OCw4IEBACiAJCQkJCSIlcyAoJWQpIiwgX19mdW5jX18sCiAJCQkJCWNvbnRl eHQtPnRlbXAsIGxvY2FsLCBzdHJlcnJvcihlcnJubyksCiAJCQkJCWVycm5vKTsKKwkJCWVsc2UK KwkJCQlvYmV4YXBwX3N0cmVhbV9zdGF0c19wcmludChjb250ZXh0KTsKIAkJCWJyZWFrOwogCQl9 CiAJfSBlbHNlCkluZGV4OiBldmVudC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC91c3IvbG9jYWwv Y3ZzL3BvcnRzL29iZXhhcHAvZXZlbnQuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS43CmRpZmYg LXUgLXIxLjcgZXZlbnQuYwotLS0gZXZlbnQuYwkyMCBBdWcgMjAwOSAyMTo1NzoxOCAtMDAwMAkx LjcKKysrIGV2ZW50LmMJMjEgT2N0IDIwMTAgMjI6MzM6MjcgLTAwMDAKQEAgLTYwLDcgKzYwLDkg QEAKIAlvYmV4YXBwX2V2ZW50X3N0dWIsCQkvKiA2IC0gT0JFWF9FVl9BQ0NFUFRISU5UICovIAog CW9iZXhhcHBfZXZlbnRfYWJvcnQsCQkvKiA3IC0gT0JFWF9FVl9BQk9SVCAqLwogCW9iZXhhcHBf c3RyZWFtX3dyaXRlLAkJLyogOCAtIE9CRVhfRVZfU1RSRUFNRU1QVFkgKi8KLQlvYmV4YXBwX3N0 cmVhbV9yZWFkCQkvKiA5IC0gT0JFWF9FVl9TVFJFQU1BVkFJTCAqLworCW9iZXhhcHBfc3RyZWFt X3JlYWQsCQkvKiA5IC0gT0JFWF9FVl9TVFJFQU1BVkFJTCAqLworCW9iZXhhcHBfZXZlbnRfc3R1 YiwJCS8qIDEwIC0gT0JFWF9FVl9VTkVYUEVDVEVEICovCisJb2JleGFwcF9ldmVudF9zdHViLAkJ LyogMTEgLSBPQkVYX0VWX1JFUUNIRUNLICovCiB9OwogI2RlZmluZQlzZXJ2ZXJfZWhfc2l6ZQko KGludCkoc2l6ZW9mKHNlcnZlcl9laCkvc2l6ZW9mKHNlcnZlcl9laFswXSkpKQogCkBAIC03NSw3 ICs3Nyw5IEBACiAJb2JleGFwcF9ldmVudF9zdHViLAkJLyogNiAtIE9CRVhfRVZfQUNDRVBUSElO VCAqLyAKIAlvYmV4YXBwX2V2ZW50X2Fib3J0LAkJLyogNyAtIE9CRVhfRVZfQUJPUlQgKi8KIAlv YmV4YXBwX3N0cmVhbV93cml0ZSwJCS8qIDggLSBPQkVYX0VWX1NUUkVBTUVNUFRZICovCi0Jb2Jl eGFwcF9zdHJlYW1fcmVhZAkJLyogOSAtIE9CRVhfRVZfU1RSRUFNQVZBSUwgKi8KKwlvYmV4YXBw X3N0cmVhbV9yZWFkLAkJLyogOSAtIE9CRVhfRVZfU1RSRUFNQVZBSUwgKi8KKwlvYmV4YXBwX2V2 ZW50X3N0dWIsCQkvKiAxMCAtIE9CRVhfRVZfVU5FWFBFQ1RFRCAqLworCW9iZXhhcHBfZXZlbnRf c3R1YiwJCS8qIDExIC0gT0JFWF9FVl9SRVFDSEVDSyAqLwogfTsKICNkZWZpbmUJY2xpZW50X2Vo X3NpemUJKChpbnQpKHNpemVvZihjbGllbnRfZWgpL3NpemVvZihjbGllbnRfZWhbMF0pKSkKIApA QCAtMTM3LDcgKzE0MSw4IEBACiAJCXN0YXRpYyB1aW50MzJfdAlzcGlubmVyX2lkeCA9IDA7CiAK IAkJcHJpbnRmKCIlY1xiIiwgc3Bpbm5lcltzcGlubmVyX2lkeCArK10pOwotCQlpZiAoc3Bpbm5l cl9pZHggPj0gc2l6ZW9mKHNwaW5uZXIpL3NpemVvZihzcGlubmVyWzBdKSkKKwkJZmZsdXNoKHN0 ZG91dCk7CisJCWlmIChzcGlubmVyX2lkeCA9PSBzaXplb2Yoc3Bpbm5lcikvc2l6ZW9mKHNwaW5u ZXJbMF0pIC0gMSkKIAkJCXNwaW5uZXJfaWR4ID0gMDsKIAl9CiB9IC8qIG9iZXhhcHBfZXZlbnRf cHJvZ3Jlc3MgKi8KSW5kZXg6IG1haW4uYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvdXNyL2xvY2Fs L2N2cy9wb3J0cy9vYmV4YXBwL21haW4uYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xNApkaWZm IC11IC1yMS4xNCBtYWluLmMKLS0tIG1haW4uYwkyMCBBdWcgMjAwOSAyMTo1NzoxOCAtMDAwMAkx LjE0CisrKyBtYWluLmMJMTkgT2N0IDIwMTAgMTc6NDI6MDggLTAwMDAKQEAgLTI0OSw4ICsyNDks NyBAQAogCWFyZ3YgKz0gb3B0aW5kOwogCiAJaWYgKCFjb250ZXh0LnNlcnZlcikgewotCQlpZiAo bWVtY21wKCZjb250ZXh0LnJhZGRyLCBOR19IQ0lfQkRBRERSX0FOWSwKLQkJCQlzaXplb2YoY29u dGV4dC5yYWRkcikpID09IDApCisJCWlmIChiZGFkZHJfYW55KCZjb250ZXh0LnJhZGRyKSkKIAkJ CWVycngoMSwgIk11c3Qgc3BlY2lmeSBzZXJ2ZXIgQkRfQUREUiIpOyAKIAogCQkvKiBDaGVjayBj aGFubmVsLCBpZiB3YXMgbm90IHNldCB0aGVuIG9idGFpbiBpdCB2aWEgU0RQICovCkluZGV4OiBv YmV4YXBwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL3Vzci9sb2NhbC9jdnMvcG9ydHMvb2JleGFw cC9vYmV4YXBwLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTAKZGlmZiAtdSAtcjEuMTAgb2Jl eGFwcC5oCi0tLSBvYmV4YXBwLmgJMjAgQXVnIDIwMDkgMjE6NTc6MTggLTAwMDAJMS4xMAorKysg b2JleGFwcC5oCTE5IE9jdCAyMDEwIDE3OjUxOjA1IC0wMDAwCkBAIC0xMTAsNiArMTEwLDggQEAK IAkvKiBzdHJlYW0gZmlsZSBkZXNjcmlwdG9yIGFuZCBidWZmZXIgKi8KIAlpbnQJCQkgc2ZkOwog CXVpbnQ4X3QJCQkqc2J1ZmZlcjsKKwlzaXplX3QJCQkgc3RvdGFsOworCXRpbWVfdAkJCSBzdGlt ZTsKIAogCWludAkJCSBtdHU7ICAgICAgICAgICAgLyogT0JFWCBNVFUgKi8KIApJbmRleDogc3Ry ZWFtLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL3Vzci9sb2NhbC9jdnMvcG9ydHMvb2JleGFwcC9z dHJlYW0uYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS45CmRpZmYgLXUgLXIxLjkgc3RyZWFtLmMK LS0tIHN0cmVhbS5jCTkgQXByIDIwMDkgMjM6MTY6MzEgLTAwMDAJMS45CisrKyBzdHJlYW0uYwkx OSBPY3QgMjAxMCAxNzo1MjowMyAtMDAwMApAQCAtMzQsNyArMzQsOSBAQAogI2luY2x1ZGUgPGZj bnRsLmg+CiAjaW5jbHVkZSA8bGltaXRzLmg+CiAjaW5jbHVkZSA8b2JleC5oPgorI2luY2x1ZGUg PHN0ZGlvLmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dGltZS5oPgogI2luY2x1 ZGUgPHVuaXN0ZC5oPgogCiAjaW5jbHVkZSAiY29tcGF0LmgiCkBAIC03OSw2ICs4MSw4IEBACiAK IAkJY2xvc2UoY29udGV4dC0+c2ZkKTsKIAkJY29udGV4dC0+c2ZkID0gLTE7CisJfSBlbHNlIHsK KwkJY29udGV4dC0+c3RvdGFsICs9IGxlbmd0aDsKIAl9CiB9IC8qIG9iZXhhcHBfc3RyZWFtX3dy aXRlICovCiAKQEAgLTIyNCw2ICsyMjgsMjYgQEAKIAkJcmV0dXJuOwogCX0KIAorCWNvbnRleHQt PnN0b3RhbCArPSBsZW5ndGg7CiAJbG9nX2RlYnVnKCIlcygpOiBXcm90ZSAlZCBieXRlcyBvZiBz dHJlYW0gZGF0YSIsIF9fZnVuY19fLCBsZW5ndGgpOwogfSAvKiBvYmV4YXBwX3N0cmVhbV9yZWFk ICovCiAKK3ZvaWQKK29iZXhhcHBfc3RyZWFtX3N0YXRzX3Jlc2V0KGNvbnRleHRfdCAqY29udGV4 dCkKK3sKKwljb250ZXh0LT5zdG90YWwgPSAwOworCWNvbnRleHQtPnN0aW1lID0gdGltZShOVUxM KTsKK30KKwordm9pZAorb2JleGFwcF9zdHJlYW1fc3RhdHNfcHJpbnQoY29udGV4dF90ICpjb250 ZXh0KQoreworCWludCB0bTsKKworCXRtID0gKGludCkodGltZShOVUxMKSAtIGNvbnRleHQtPnN0 aW1lKTsKKwlwcmludGYoIiV6dSBieXRlcyBzdHJlYW1lZCBpbiAlZCBzZWNvbmQlcyIsCisJICAg IGNvbnRleHQtPnN0b3RhbCwgdG0sICh0bSA9PSAxID8gIiIgOiAicyIpKTsKKwlpZiAodG0gPiAx KQorCQlwcmludGYoIiAoJXp1IGJ5dGVzL3NlYykiLCBjb250ZXh0LT5zdG90YWwgLyB0bSk7CisJ cHJpbnRmKCJcbiIpOworfQpJbmRleDogc3RyZWFtLmgKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL3Vz ci9sb2NhbC9jdnMvcG9ydHMvb2JleGFwcC9zdHJlYW0uaCx2CnJldHJpZXZpbmcgcmV2aXNpb24g MS4xLjEuMQpkaWZmIC11IC1yMS4xLjEuMSBzdHJlYW0uaAotLS0gc3RyZWFtLmgJMTAgRmViIDIw MDMgMDM6Mjg6MDMgLTAwMDAJMS4xLjEuMQorKysgc3RyZWFtLmgJMTkgT2N0IDIwMTAgMTc6NTE6 MDUgLTAwMDAKQEAgLTM1LDUgKzM1LDggQEAKIG9iZXhhcHBfZXZlbnRfaGFuZGxlcl90CW9iZXhh cHBfc3RyZWFtX3dyaXRlOwogb2JleGFwcF9ldmVudF9oYW5kbGVyX3QJb2JleGFwcF9zdHJlYW1f cmVhZDsKIAordm9pZCBvYmV4YXBwX3N0cmVhbV9zdGF0c19yZXNldChjb250ZXh0X3QgKik7Cit2 b2lkIG9iZXhhcHBfc3RyZWFtX3N0YXRzX3ByaW50KGNvbnRleHRfdCAqKTsKKwogI2VuZGlmIC8q IF9TVFJFQU1fSF8gKi8KIApJbmRleDogdHJhbnNwb3J0LmMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog L3Vzci9sb2NhbC9jdnMvcG9ydHMvb2JleGFwcC90cmFuc3BvcnQuYyx2CnJldHJpZXZpbmcgcmV2 aXNpb24gMS4xNApkaWZmIC11IC1yMS4xNCB0cmFuc3BvcnQuYwotLS0gdHJhbnNwb3J0LmMJMjAg QXVnIDIwMDkgMjE6NTc6MTggLTAwMDAJMS4xNAorKysgdHJhbnNwb3J0LmMJMTkgT2N0IDIwMTAg MTc6Mzc6MjIgLTAwMDAKQEAgLTM1OCw2ICszNTgsMTAgQEAKIAogCQlyZXR1cm4gKG4pOwogCX0K KwlpZiAobiA9PSAwKSB7CisJCWxvZ19pbmZvKCIlcygpOiBDb25uZWN0aW9uIGNsb3NlZCIsIF9f ZnVuY19fKTsKKwkJcmV0dXJuICgtMSk7CisJfQogCiAJbG9nX2RlYnVnKCIlcygpOiBHb3QgJWQg Ynl0ZXMiLCBfX2Z1bmNfXywgbik7CiAKSW5kZXg6IHV0aWwuYwo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxl OiAvdXNyL2xvY2FsL2N2cy9wb3J0cy9vYmV4YXBwL3V0aWwuYyx2CnJldHJpZXZpbmcgcmV2aXNp b24gMS4xNgpkaWZmIC11IC1yMS4xNiB1dGlsLmMKLS0tIHV0aWwuYwk4IEphbiAyMDEwIDE4OjMx OjIyIC0wMDAwCTEuMTYKKysrIHV0aWwuYwkxOSBPY3QgMjAxMCAxNzozODozNyAtMDAwMApAQCAt Mjg4LDE0ICsyODgsMTQgQEAKICAqIFJlYWQgdXB0byBidWZmZXJfbGVuZ3RoIGJ5dGVzIGludG8g dGhlIGJ1ZmZlciBmcm9tIHRoZSBmaWxlIGRlc2NyaXB0b3IgZmQKICAqLwogCi1pbnQKLW9iZXhh cHBfdXRpbF9yZWFkKGludCBmZCwgdWludDhfdCAqYnVmZmVyLCBpbnQgYnVmZmVyX2xlbmd0aCkK K3NzaXplX3QKK29iZXhhcHBfdXRpbF9yZWFkKGludCBmZCwgdWludDhfdCAqYnVmZmVyLCBzaXpl X3QgYnVmZmVyX2xlbmd0aCkKIHsKLQlpbnQJbGVuZ3RoOworCXNzaXplX3QgbGVuZ3RoOwogCiBh Z2FpbjoKIAlsZW5ndGggPSByZWFkKGZkLCBidWZmZXIsIGJ1ZmZlcl9sZW5ndGgpOwotCWlmIChs ZW5ndGggPCAwICYmIGVycm5vID09IEVJTlRSKQorCWlmIChsZW5ndGggPT0gLTEgJiYgZXJybm8g PT0gRUlOVFIpCiAJCWdvdG8gYWdhaW47CiAKIAlyZXR1cm4gKGxlbmd0aCk7CkBAIC0zMDUsMTUg KzMwNSwxNiBAQAogICogV3JpdGUgYnVmZmVyX2xlbmd0aCBieXRlcyBmcm9tIHRoZSBidWZmZXIg dG8gdGhlIGRlc2NyaXB0b3IgZmQKICAqLwogCi1pbnQKLW9iZXhhcHBfdXRpbF93cml0ZShpbnQg ZmQsIHVpbnQ4X3QgY29uc3QgKmJ1ZmZlciwgaW50IGJ1ZmZlcl9sZW5ndGgpCitzc2l6ZV90Citv YmV4YXBwX3V0aWxfd3JpdGUoaW50IGZkLCB1aW50OF90IGNvbnN0ICpidWZmZXIsIHNpemVfdCBi dWZmZXJfbGVuZ3RoKQogewotCWludAl3cm90ZSwgc2l6ZTsKKwlzc2l6ZV90IHNpemU7CisJc2l6 ZV90IHdyb3RlOwogCiAJd3JvdGUgPSAwOwogCXdoaWxlICh3cm90ZSA8IGJ1ZmZlcl9sZW5ndGgp IHsKIAkJc2l6ZSA9IHdyaXRlKGZkLCBidWZmZXIgKyB3cm90ZSwgYnVmZmVyX2xlbmd0aCAtIHdy b3RlKTsKLQkJaWYgKHNpemUgPCAwKSB7CisJCWlmIChzaXplID09IC0xKSB7CiAJCQlpZiAoZXJy bm8gPT0gRUlOVFIpCiAJCQkJY29udGludWU7CiAKSW5kZXg6IHV0aWwuaAo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD UyBmaWxlOiAvdXNyL2xvY2FsL2N2cy9wb3J0cy9vYmV4YXBwL3V0aWwuaCx2CnJldHJpZXZpbmcg cmV2aXNpb24gMS45CmRpZmYgLXUgLXIxLjkgdXRpbC5oCi0tLSB1dGlsLmgJOCBKYW4gMjAxMCAx ODozMToyMiAtMDAwMAkxLjkKKysrIHV0aWwuaAkxOSBPY3QgMjAxMCAxNzozODozNyAtMDAwMApA QCAtMzksOCArMzksOCBAQAogaW50IG9iZXhhcHBfdXRpbF9sb2NhbGVfZnJvbV91dGYxNmJlKHVp bnQ4X3QgY29uc3QgKnNyYywgc2l6ZV90IHNyY2xlbiwgY2hhciAqZHN0LCBzaXplX3QgZHN0bGVu KTsKIGludCBvYmV4YXBwX3V0aWxfbG9jYWxlX3RvX3V0ZjE2YmUoY2hhciBjb25zdCAqc3JjLCBz aXplX3Qgc3JjbGVuLCB1aW50OF90ICpkc3QsIHNpemVfdCBkc3RsZW4pOwogCi1pbnQgb2JleGFw cF91dGlsX3JlYWQoaW50IGZkLCB1aW50OF90ICpidWZmZXIsIGludCBidWZmZXJfbGVuZ3RoKTsK LWludCBvYmV4YXBwX3V0aWxfd3JpdGUoaW50IGZkLCB1aW50OF90IGNvbnN0ICpidWZmZXIsIGlu dCBidWZmZXJfbGVuZ3RoKTsKK3NzaXplX3Qgb2JleGFwcF91dGlsX3JlYWQoaW50IGZkLCB1aW50 OF90ICpidWZmZXIsIHNpemVfdCBidWZmZXJfbGVuZ3RoKTsKK3NzaXplX3Qgb2JleGFwcF91dGls X3dyaXRlKGludCBmZCwgdWludDhfdCBjb25zdCAqYnVmZmVyLCBzaXplX3QgYnVmZmVyX2xlbmd0 aCk7CiBpbnQgb2JleGFwcF91dGlsX2Rpc3BsYXlfZm9sZGVyX2xpc3RpbmcoY2hhciBjb25zdCAq bHMpOwogY2hhciAqCW9iZXhhcHBfdXRpbF9nZXRzKGNoYXIgY29uc3QgKnByb21wdCwgY2hhciAq YnVmZmVyLCBpbnQgYnVmZmVyX3NpemUpOwogY2hhciAqCW9iZXhhcHBfdXRpbF9zdHJzZXAoY2hh ciAqKnNwLCBjaGFyIGNvbnN0ICpkZWxpbSk7Cg== --005045016771a43f390493282828--