From: UnixOS2 Archive To: "UnixOS2 Archive" Date: Sun, 17 Feb 2002 04:15:34 EST-10EDT,10,-1,0,7200,3,-1,0,7200,3600 Subject: [UnixOS2_Archive] No. 138 ************************************************** Saturday 16 February 2002 Number 138 ************************************************** Subjects for today 1 Re: arpa headers : neis at cdc.informatik.tu-darmstadt.de 2 Re: BZIP2 v1.0.2 : Kris Steenhaut 3 Re: BZIP2 v1.0.2 : Thomas Dickey 4 Re: make 3.79.1 : John Poltorak 5 Apache module and 'inet_aton' error : Lyn St George" 6 include\bsd : John Poltorak 7 Re: Apache module and 'inet_aton' error : Stefan Neis 8 Newbie Q re gcc 3.0.2 : Anders Jarnberg" 9 Re: Newbie Q re gcc 3.0.2 : John Poltorak 10 Re: Apache module and 'inet_aton' error : Holger Veit 11 Re: include\bsd : Holger Veit 12 Make 3.79.1 tests : John Poltorak 13 Which BASH? : John Poltorak 14 Re: Autoconf 2.52h : John Poltorak **= Email 1 ==========================** Date: Sun, 17 Feb 2002 00:34:29 From: neis at cdc.informatik.tu-darmstadt.de Subject: Re: arpa headers Addressed to: os2-unix at eyup.org posix2 at borneo.gmd.de Holger Veit wrote: > Besides, is a rather critical header file, as well as > some of the machine headers. You should better not mess with them, > unless you are absolutely sure what is in there (and that their content > is compatible with EMX - this is the big problem with POSIX/2 and > sockets, n'est pas, Stefan :-)?) BTW, I just committed my local changes removing that famous sin_len member to POSIX/2 CVS. The changed version seems to work at least for me, so I figured it couldn't be worse than the broken version that has been in CVS up to now. Regards, Stefan **= Email 2 ==========================** Date: Sun, 17 Feb 2002 02:47:21 +0100 From: Kris Steenhaut Subject: Re: BZIP2 v1.0.2 John Poltorak schreef: > > It is a fairly new compression program and format which is more efficient > than GZIP. Many Unix programs are becoming bundled as tar.bz2 archives. > > Thank you! -- Groeten uit Gent, Kris **= Email 3 ==========================** Date: Sun, 17 Feb 2002 06:29:13 -0500 From: Thomas Dickey Subject: Re: BZIP2 v1.0.2 On Sun, Feb 17, 2002 at 02:47:21AM +0100, Kris Steenhaut wrote: > > > John Poltorak schreef: > > > > > It is a fairly new compression program and format which is more efficient > > than GZIP. Many Unix programs are becoming bundled as tar.bz2 archives. It is usually more efficient (typically around 30%). Occasionally I find a file which compresses to a larger one (just as gzip occasionally performs worse than compress). -- Thomas E. Dickey http://invisible-island.net ftp://invisible-island.net **= Email 4 ==========================** Date: Sun, 17 Feb 2002 09:50:11 +0000 From: John Poltorak Subject: Re: make 3.79.1 On Sat, Feb 16, 2002 at 11:00:11PM +0100, Andreas Buening wrote: > John Poltorak wrote: > > > > On Sat, Feb 16, 2002 at 09:00:31PM +0100, Andreas Buening wrote: > > [make] > > > sh: too many files open in shell > > make[2]: *** [install-binSCRIPTS] Error 1 > > > > Maybe this is an EMX file handles problem. I'll reset EMXOPT and try > > again, but I haven't had this problem before with other builds. > > Hmm, I'm using -h256 in EMXOPT. This is definitely enough, but > I wonder why sh reports that error. This error is specific to sh from PDKSH, it doesn't happen when using BASH - I just checked. One strange thing I noticed is this:- make: $SHELL changed (was `cmd.exe', now `/bin/sh') make: $SHELL changed (was `t~$', now `sh') make: $SHELL changed (was `echo 2.52f|sed 's/\./\\./g'', now `sh') Making install in . make[1]: Entering directory `C:/workdir/autoconf-2.52g' make[1]: $SHELL changed (was `cmd.exe', now `/bin/sh') make[1]: $SHELL changed (was `$', now `sh') make[1]: $SHELL changed (was `echo 2.52f|sed 's/\./\\./g'', now `sh') make[2]: Entering directory `C:/workdir/autoconf-2.52g' make[2]: $SHELL changed (was `cmd.exe', now `/bin/sh') make[2]: $SHELL changed (was `$', now `sh') make[2]: $SHELL changed (was `echo 2.52f|sed 's/\./\\./g'', now `sh') make[2]: Nothing to be done for `install-exec-am'. ???... > bye, > Andreas > > -- > One OS to rule them all, One OS to find them, > One OS to bring them all and in the darkness bind them > In the Land of Redmond where the Shadows lie. -- John **= Email 5 ==========================** Date: Sun, 17 Feb 2002 11:47:30 +0000 From: "Lyn St George" Subject: Apache module and 'inet_aton' error --_=_=_=IMA.BOUNDARY.GRORZ5138764=_=_=_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Hi all - I wonder if I could beg for a little help on this problem. I'm trying to build mod_interchange into Apache 1.3.22 (this allows the Interchange perl daemon to connect directly to Apache without a cgi). I've fixed the first couple of errors - but this _inet_aton error has got me stumped. I've added: #if !defined(inet_aton) typedef int(inet_aton(const char *cp, struct in_addr * addr)); #endif to mod_interchange.c which seems to fix it but then brings up lots of 'parse' and 'undeclared' errors, so I guess that this typedef needs fixing. Inet_aton shows up in only 2 places: ------X---- inet_sock = (struct sockaddr_in *)ap_pcalloc( p, sizeof (struct sockaddr_in)); inet_sock->sin_family = AF_INET; inet_aton( IC_DEFAULT_ADDR, &inet_sock->sin_addr ); inet_sock->sin_port = htons( IC_DEFAULT_PORT ); -------X-------- and: --------X----- if ( ! inet_aton( hostname, &inet_sock->sin_addr ) ) { /* Address must be a host */ struct hostent * host; host = ap_pgethostbyname( parms->temp_pool, hostname ); if ( ! host ) return "invalid host specification"; memcpy(&inet_sock->sin_addr, host->h_addr, sizeof(inet_sock->sin_addr) ); } -------------X----------- The mod_interchange.c is attached, if anyone feels seriously keen :/ TIA Cheers Lyn St George +--------------------------------------------------------------------------------- + http://www.zolotek.net .. eCommerce hosting, consulting + http://www.os2docs.org .. some 'How To' stuff ... +---------------------------------------------------------------------------------- --_=_=_=IMA.BOUNDARY.GRORZ5138764=_=_=_ Content-Type: application/octet-stream; name="mod_interchange.c" Content-Transfer-Encoding: base64 LyoKICogIG1vZF9pbnRlcmNoYW5nZS5jCiAqICBBcGFjaGUgbW9kdWxlIGltcGxlbWVudGF0aW9u IG9mIHRoZSBJbnRlcmNoYW5nZSBsaW5rIHByb2dyYW0uCiAqCiAqICAkSWQ6IG1vZF9pbnRlcmNo YW5nZS5jLHYgMi4wIDIwMDEvMDcvMTggMDI6MjI6MjIgam9uIEV4cCAkCiAqCiAqICBTdXBwb3J0 OiBodHRwOi8vaW50ZXJjaGFuZ2UucmVkaGF0LmNvbS8KICoKICogIEF1dGhvcjogRnJhbmNpcyBK LiBMYWNvc3RlIDxmcmFuY2lzLmxhY29zdGVAaU5zdS5DT00+CiAqCiAqICBDb3B5cmlnaHQgKEMp IDE5OTkgRnJhbmNpcyBKLiBMYWNvc3RlLCBpTnN1IElubm92YXRpb25zCiAqCiAqICBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeQogKiAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhcyBwdWJsaXNoZWQgYnkKICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiAqICAoYXQgeW91ciBvcHRpb24pIGFu eSBsYXRlciB2ZXJzaW9uLgogKgogKiAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiAgTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlCiAqICBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgogKgogKiAgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UK ICogIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNv ZnR3YXJlCiAqICBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwg Qm9zdG9uLCBNQQogKiAgMDIxMTEtMTMwNyBVU0EKICovCgojaW5jbHVkZSAiaHR0cGQuaCIKI2lu Y2x1ZGUgImh0dHBfY29uZmlnLmgiCiNpbmNsdWRlICJodHRwX2NvcmUuaCIKI2luY2x1ZGUgImh0 dHBfbG9nLmgiCiNpbmNsdWRlICJodHRwX21haW4uaCIKI2luY2x1ZGUgImh0dHBfcHJvdG9jb2wu aCIKI2luY2x1ZGUgInV0aWxfc2NyaXB0LmgiCgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUg PHN0ZGxpYi5oPgojaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+ CiNpbmNsdWRlIDxzeXMvdW4uaD4KI2luY2x1ZGUgPHVuaXN0ZC5oPgoKI2RlZmluZSBJQ19ERUZB VUxUX1BPUlQgNzc4NgojZGVmaW5lIElDX0RFRkFVTFRfQUREUiAiMTI3LjAuMC4xIgoKLyoqLwoj aWYgZGVmaW5lZChTVU5fTEVOKQojZGVmaW5lIFVOSVhTT0NLX0xFTihzdW4pIFwKCQkoU1VOX0xF TigmKHN1bikpKQojZWxzZQojZGVmaW5lIFVOSVhTT0NLX0xFTihzdW4pIFwKCQkoc3RybGVuKChz dW4pLnN1bl9wYXRoKSArIG9mZnNldG9mKHN0cnVjdCBzb2NrYWRkcl91biwgc3VuX3BhdGgpKQoj ZW5kaWYKLyogMTcuMDIuMDIuIFRoZSBhYm92ZSBpcyBwb2FjaGVkIGZyb20gdGhlIExpbnV4IHZl cnNpb24gb2YgUG9zdGdyZVNRTCwgYW5kCiAqIHByZXZlbnRzIHRoZSBfU1VOX0xFTiBlcnJvciBp biAnbWFrZScKICovCgovKiovCiNpZiAhZGVmaW5lZChpbmV0X2F0b24pCnR5cGVkZWYgaW50KGlu ZXRfYXRvbihjb25zdCBjaGFyICpjcCwgc3RydWN0IGluX2FkZHIgKiBhZGRyKSk7CiNlbmRpZgov KiAxNy4wMi4wMiBBdHRlbXB0IHRvIHByZXZlbnQgdGhlIGluZXRfYXRvbiBlcnJvciBpbiAnbWFr ZScuIEl0IGZpeGVzIHRoaXMKICogYnV0IG5vdyBnaXZlcyBudW1lcm91cyAncGFyc2UnIGFuZCAn dW5kZWNsYXJlZCcgZXJyb3JzLgogKi8KCgovKiBGb3J3YXJkIGRlY2xhcmF0aW9uICovCm1vZHVs ZSBNT0RVTEVfVkFSX0VYUE9SVCBpbnRlcmNoYW5nZV9tb2R1bGU7Cgp0eXBlZGVmIHN0cnVjdCBp Y19jb25mX3N0cnVjdAp7CglzdHJ1Y3Qgc29ja2FkZHIgKnNvY2thZGRyOyAgLyogU29ja2V0IG9m IEludGVyY2hhbmdlIFNlcnZlciAqLwoJaW50CQkJCWZhbWlseTsJCS8qIFRoZSBzb2NrZXQgZmFt aWx5IG9mIHRoYXQgb25lICovCglORVRfU0laRV9UCQlzaXplOwkJLyogVGhlIHNpemUgb2YgdGhl IHNvY2tldCAqLwoJY2hhcgkJCSphZGRyZXNzOwkvKiBIdW1hbiByZWFkYWJsZSB2ZXJzaW9uIG9m IHRoZSBhYm92ZSAqLwp9IGljX2NvbmZfcmVjOwoKdHlwZWRlZiBzdHJ1Y3QgaWNfcmVzcG9uc2Vf YnVmZmVyX3N0cnVjdAp7CglpbnQgIGJ1ZmZfc2l6ZTsKCWludCAgcG9zOwoJY2hhciBidWZmW0hV R0VfU1RSSU5HX0xFTl07Cn0gaWNfcmVzcG9uc2VfYnVmZmVyOwoKc3RhdGljIHZvaWQqCmljX2Ny ZWF0ZV9kaXJfY29uZmlnKHBvb2wgKnAsIGNoYXIgKmRpcikKewoJc3RydWN0IHNvY2thZGRyX2lu ICppbmV0X3NvY2s7CgoJaWNfY29uZl9yZWMgKmNvbmZfcmVjID0gKGljX2NvbmZfcmVjICopYXBf cGNhbGxvYyhwLCBzaXplb2YoaWNfY29uZl9yZWMpKTsKCgkvKiBEZWZhdWx0IGNvbm5lY3Rpb24g bWV0aG9kIGlzIElORVQgdG8gbG9jYWxob3N0ICovCglpbmV0X3NvY2sgPQoJCShzdHJ1Y3Qgc29j a2FkZHJfaW4gKilhcF9wY2FsbG9jKCBwLCBzaXplb2YgKHN0cnVjdCBzb2NrYWRkcl9pbikpOwoJ aW5ldF9zb2NrLT5zaW5fZmFtaWx5ID0gQUZfSU5FVDsKCWluZXRfYXRvbiggSUNfREVGQVVMVF9B RERSLCAmaW5ldF9zb2NrLT5zaW5fYWRkciApOwoJaW5ldF9zb2NrLT5zaW5fcG9ydCAgID0gaHRv bnMoIElDX0RFRkFVTFRfUE9SVCApOwoKCWNvbmZfcmVjLT5zb2NrYWRkciAgPSAoc3RydWN0IHNv Y2thZGRyICopaW5ldF9zb2NrOwoJY29uZl9yZWMtPnNpemUgICAgICA9IHNpemVvZiAoc3RydWN0 IHNvY2thZGRyX2luKTsKCWNvbmZfcmVjLT5mYW1pbHkgICAgPSBQRl9JTkVUOwoJY29uZl9yZWMt PmFkZHJlc3MgICA9IElDX0RFRkFVTFRfQUREUiAiOiIgIklDX0RFRkFVTFRfUE9SVCI7CgoJcmV0 dXJuIGNvbmZfcmVjOwp9CgpzdGF0aWMgY29uc3QgY2hhcioKaWNfc2VydmVyX2NtZChjbWRfcGFy bXMgKnBhcm1zLCB2b2lkICptY29uZmlnLCBjb25zdCBjaGFyICphcmcpCnsKCWljX2NvbmZfcmVj ICpjb25mX3JlYyAgID0gKGljX2NvbmZfcmVjICopbWNvbmZpZzsKCgljb25mX3JlYy0+YWRkcmVz cwkJPSBhcF9wc3RyZHVwKCBwYXJtcy0+cG9vbCwgYXJnICk7CglpZiAoIGNvbmZfcmVjLT5hZGRy ZXNzID09IE5VTEwgKQoJCXJldHVybiAibm90IGVub3VnaCBtZW1vcnkiOwoKCS8qIFZlcmlmeSB0 eXBlIG9mIHRoZSBhcmd1bWVudCAqLwoJaWYgKCAqYXJnID09ICcvJyApIHsKCQkvKiBUaGlzIGlz IGEgVU5JWCBzb2NrZXQgc3BlY2lmaWNhdGlvbiAqLwoJCXN0cnVjdCBzb2NrYWRkcl91biAqdW5p eF9zb2NrOwoKCQl1bml4X3NvY2sJPSAoc3RydWN0IHNvY2thZGRyX3VuICopCgkJCWFwX3BjYWxs b2MoIHBhcm1zLT5wb29sLCBzaXplb2YoIHN0cnVjdCBzb2NrYWRkcl91biApICk7CgkJaWYgKHVu aXhfc29jayA9PSBOVUxMKQoJCQlyZXR1cm4gIm5vdCBlbm91Z2ggbWVtb3J5IjsKCgkJdW5peF9z b2NrLT5zdW5fZmFtaWx5ID0gQUZfVU5JWDsKCQlhcF9jcHlzdHJuKCB1bml4X3NvY2stPnN1bl9w YXRoLCBjb25mX3JlYy0+YWRkcmVzcywKCQkJCSBzaXplb2YgKHVuaXhfc29jay0+c3VuX3BhdGgp KTsKCgkJY29uZl9yZWMtPmZhbWlseSAgID0gUEZfVU5JWDsKCQljb25mX3JlYy0+c2l6ZSAgICAg PSBTVU5fTEVOKCB1bml4X3NvY2sgKTsKCQljb25mX3JlYy0+c29ja2FkZHIgPSAoc3RydWN0IHNv Y2thZGRyICopdW5peF9zb2NrOwoJfSBlbHNlIHsKCQkvKiBJTkVUIFNvY2tldAoKCQkgICBUaGUg YXJndW1lbnQgaXMgYW4gSVAgYWRkcmVzcyBvciBob3N0bmFtZSBmb2xsb3dlZCBieQoJCSAgIGFu IG9wdGlvbmFsIHBvcnQgc3BlY2lmaWNhdGlvbi4KCQkgKi8KCQlzdHJ1Y3Qgc29ja2FkZHJfaW4g KmluZXRfc29jazsKCQljaGFyICoqaG9zdGFkZHJlc3MsICpob3N0bmFtZTsKCgkJaW5ldF9zb2Nr CT0gKHN0cnVjdCBzb2NrYWRkcl9pbiAqKQoJCQlhcF9wY2FsbG9jKCBwYXJtcy0+cG9vbCwgc2l6 ZW9mKCBzdHJ1Y3Qgc29ja2FkZHJfaW4gKSApOwoJCWlmIChpbmV0X3NvY2sgPT0gTlVMTCkKCQkJ cmV0dXJuICJub3QgZW5vdWdoIG1lbW9yeSI7CgkJaW5ldF9zb2NrLT5zaW5fZmFtaWx5ID0gQUZf SU5FVDsKCgkJaG9zdGFkZHJlc3MgPSAmKGNvbmZfcmVjLT5hZGRyZXNzKTsKCQlob3N0bmFtZSAg ICA9IGFwX2dldHdvcmRfbmMoIHBhcm1zLT50ZW1wX3Bvb2wsIGhvc3RhZGRyZXNzLCAnOicpOwoK CQlpZiAoICEgaW5ldF9hdG9uKCBob3N0bmFtZSwgJmluZXRfc29jay0+c2luX2FkZHIgKSApCgkJ ewoJCQkvKiBBZGRyZXNzIG11c3QgYmUgYSBob3N0ICovCgkJCXN0cnVjdCBob3N0ZW50ICogaG9z dDsKCQkJaG9zdCA9IGFwX3BnZXRob3N0YnluYW1lKCBwYXJtcy0+dGVtcF9wb29sLCBob3N0bmFt ZSApOwoJCQlpZiAoICEgaG9zdCApCgkJCQlyZXR1cm4gImludmFsaWQgaG9zdCBzcGVjaWZpY2F0 aW9uIjsKCgkJCW1lbWNweSgmaW5ldF9zb2NrLT5zaW5fYWRkciwgaG9zdC0+aF9hZGRyLAoJCQkJ ICAgc2l6ZW9mKGluZXRfc29jay0+c2luX2FkZHIpICk7CgkJfQoKCQkvKiBDaGVjayBpZiB0aGVy ZSBpcyBhIHBvcnQgc3BlYyAqLwoJCWlmICggKipob3N0YWRkcmVzcyApIHsKCQkJaW50IHBvcnQg PSBhdG9pKCAqaG9zdGFkZHJlc3MgKTsKCgkJCWlmICggcG9ydCA8IDEgfHwgcG9ydCA+IDY1NTM1 ICkKCQkJCXJldHVybiAiaW52YWxpZCBwb3J0IHNwZWNpZmljYXRpb24iOwoKCQkJaW5ldF9zb2Nr LT5zaW5fcG9ydCA9IGh0b25zKCBwb3J0ICk7CgkJfSBlbHNlIHsKCQkJaW5ldF9zb2NrLT5zaW5f cG9ydCA9IGh0b25zKCBJQ19ERUZBVUxUX1BPUlQgKTsKCQl9CgoJCWNvbmZfcmVjLT5zb2NrYWRk ciA9IChzdHJ1Y3Qgc29ja2FkZHIgKilpbmV0X3NvY2s7CgkJY29uZl9yZWMtPmZhbWlseSAgID0g UEZfSU5FVDsKCQljb25mX3JlYy0+c2l6ZSAgICAgPSBzaXplb2YoIHN0cnVjdCBzb2NrYWRkcl9p biApOwoJCWNvbmZfcmVjLT5zb2NrYWRkciA9IChzdHJ1Y3Qgc29ja2FkZHIgKilpbmV0X3NvY2s7 Cgl9CgoJcmV0dXJuIE5VTEw7Cn0KCnN0YXRpYyBCVUZGICoKaWNfY29ubmVjdCggcmVxdWVzdF9y ZWMgKnIsIGljX2NvbmZfcmVjICpjb25mX3JlYyApCnsKCWludCBpY19zb2NrOwoJQlVGRiAqaWNf YnVmZjsKCgkvKiBPcGVuIGNvbm5lY3Rpb24gdG8gdGhlIHNlcnZlciAqLwoJaWNfc29jayA9IGFw X3Bzb2NrZXQoIHItPnBvb2wsIGNvbmZfcmVjLT5mYW1pbHksIFNPQ0tfU1RSRUFNLCAwICk7Cglp ZiAoIGljX3NvY2sgPCAwICkgewoJCWFwX2xvZ19yZWFzb24oICJzb2NrZXQiLCByLT51cmksIHIp OwoJCXJldHVybiBOVUxMOwoJfQoKCS8qIEluaXRpYWxpemUgYSB0aW1lb3V0ICovCglhcF9oYXJk X3RpbWVvdXQoICJpY19jb25uZWN0IiwgciApOwoJaWYgKCBjb25uZWN0KCBpY19zb2NrLCBjb25m X3JlYy0+c29ja2FkZHIsIGNvbmZfcmVjLT5zaXplICkgPCAwICkKCXsKCQlhcF9sb2dfcmVhc29u KCAiQ29ubmVjdGlvbiBmYWlsZWQiLCByLT51cmksIHIgKTsKCQlyZXR1cm4gTlVMTDsKCX0KCWFw X2tpbGxfdGltZW91dCggciApOwoKCS8qIENyZWF0ZSBhIEJVRkYgc3RydWN0IG9mIHRoYXQgc29j a2V0ICovCglpY19idWZmID0gYXBfYmNyZWF0ZSggci0+cG9vbCwgQl9SRFdSIHwgQl9TT0NLRVQg KTsKCWlmICggIWljX2J1ZmYpIHsKCQlhcF9sb2dfcmVhc29uKCAiZmFpbGVkIHRvIGNyZWF0ZSBC VUZGIiwgci0+dXJpLCByICk7CgkJcmV0dXJuIE5VTEw7Cgl9CglhcF9icHVzaGZkKCBpY19idWZm LCBpY19zb2NrLCBpY19zb2NrICk7CgoJcmV0dXJuIGljX2J1ZmY7Cn0KCnN0YXRpYyBpbnQKaWNf c2VuZF9yZXF1ZXN0KCByZXF1ZXN0X3JlYyAqciwgaWNfY29uZl9yZWMgKmNvbmZfcmVjLCBCVUZG ICppY19idWZmICkKewoJY2hhciAqKmVudiwgKiplOwoJaW50IGVudl9jb3VudCwgcmM7CgoJLyog SW5pdGlhbGl6ZSBhIHRpbWVvdXQgKi8KCWFwX2hhcmRfdGltZW91dCggImljX3NlbmRfcmVxdWVz dCIsIHIgKTsKCgkvKiBTZW5kIHRoZSBhcmcgcGFyYW0KCSAgIFRoaXMgaXMgYWx3YXlzIGVtcHR5 IGZvciBhIENHSSByZXF1ZXN0CgkgKi8KCWlmICggYXBfYnB1dHMoICJhcmcgMFxuIiwgaWNfYnVm ZiApIDwgMCApIHsKCQlhcF9sb2dfcmVhc29uKCAiZXJyb3Igd3JpdGluZyB0byBJbnRlcmNoYW5n ZSIsIHItPnVyaSwgciApOwoJCXJldHVybiBIVFRQX0lOVEVSTkFMX1NFUlZFUl9FUlJPUjsKCX0K CWFwX3Jlc2V0X3RpbWVvdXQoIHIgKTsKCgkvKiBOb3cgb24gd2l0aCB0aGUgZW52aXJvbm1lbnQg Ki8KCgkvKiBJbml0aWFsaXplIEVudmlyb25tZW50IHRvIHNlbmQgdG8gSW50ZXJjaGFuZ2UgKi8K CWFwX2FkZF9jb21tb25fdmFycyggciApOwoJYXBfYWRkX2NnaV92YXJzKCByICk7CgoJZW52ID0g YXBfY3JlYXRlX2Vudmlyb25tZW50KCByLT5wb29sLCByLT5zdWJwcm9jZXNzX2VudiApOwoKCS8q IFNlbmQgdGhlIGNvdW50ICovCglmb3IgKGUgPSBlbnYsIGVudl9jb3VudCA9IDA7ICAqZSAhPSBO VUxMOyAgKytlLCArK2Vudl9jb3VudCk7CglpZiAoIGFwX2JwcmludGYoIGljX2J1ZmYsICJlbnYg JWRcbiIsIGVudl9jb3VudCApIDwgMCApIHsKCQlhcF9sb2dfcmVhc29uKCAiZXJyb3Igd3JpdGlu ZyB0byBJbnRlcmNoYW5nZSIsIHItPnVyaSwgciApOwoJCXJldHVybiBIVFRQX0lOVEVSTkFMX1NF UlZFUl9FUlJPUjsKCX0KCWFwX3Jlc2V0X3RpbWVvdXQoIHIgKTsKCgkvKiBOb3cgdGhlIHZhcnMg Ki8KCWZvciAoIGUgPSBlbnY7ICAqZSAhPSBOVUxMOyAgKytlKSB7CgkJaWYgKCBhcF9icHJpbnRm KGljX2J1ZmYsICIlZCAlc1xuIiwgc3RybGVuKCplKSwgKmUgKSA8IDAgKSB7CgkJCWFwX2xvZ19y ZWFzb24oICJlcnJvciB3cml0aW5nIHRvIEludGVyY2hhbmdlIiwgci0+dXJpLCByICk7CgkJCXJl dHVybiBIVFRQX0lOVEVSTkFMX1NFUlZFUl9FUlJPUjsKCQl9CgkJYXBfcmVzZXRfdGltZW91dCgg ciApOwoJfQoKCS8qIFNlbmQgdGhlIHJlcXVlc3QgYm9keSBpZiBhbnkgKi8KCWlmICggci0+bWV0 aG9kX251bWJlciA9PSBNX1BPU1QgKSB7CgkJaWYgKCAocmMgPSBhcF9zZXR1cF9jbGllbnRfYmxv Y2soIHIsIFJFUVVFU1RfQ0hVTktFRF9FUlJPUikgKSAhPSBPSykKCQkJcmV0dXJuIHJjOwoKCQlp ZiAoIGFwX3Nob3VsZF9jbGllbnRfYmxvY2socikgKSB7CgkJCWNoYXIgYnVmZmVyW0hVR0VfU1RS SU5HX0xFTl07CgkJCWludCAgbGVuX3JlYWQ7CgkJCWxvbmcgbGVuZ3RoID0gci0+cmVtYWluaW5n OwoKCQkJaWYgKGFwX2JwcmludGYoIGljX2J1ZmYsICJlbnRpdHlcbiVsZCAiLCBsZW5ndGggKSA8 IDAgKSB7CgkJCQlhcF9sb2dfcmVhc29uKCAiZXJyb3Igd3JpdGluZyB0byBJbnRlcmNoYW5nZSIs IHItPnVyaSwgciApOwoJCQkJcmV0dXJuIEhUVFBfSU5URVJOQUxfU0VSVkVSX0VSUk9SOwoJCQl9 CgoJCQl3aGlsZSAoIChsZW5fcmVhZCA9CgkJCQkJIGFwX2dldF9jbGllbnRfYmxvY2sociwgYnVm ZmVyLCBzaXplb2YoYnVmZmVyICkpCgkJCQkJICkgPiAwICkKCQkJewoJCQkJYXBfcmVzZXRfdGlt ZW91dChyKTsKCgkJCQkvKiBTZW5kIHRoYXQgdG8gSW50ZXJjaGFuZ2UgKi8KCQkJCWlmICggYXBf YndyaXRlKCBpY19idWZmLCBidWZmZXIsIGxlbl9yZWFkICkgIT0gbGVuX3JlYWQgKSB7CgkJCQkJ YXBfbG9nX3JlYXNvbiggImVycm9yIHdyaXRpbmcgdG8gSW50ZXJjaGFuZ2UiLCByLT51cmksIHIg KTsKCQkJCQlyZXR1cm4gSFRUUF9JTlRFUk5BTF9TRVJWRVJfRVJST1I7CgkJCQl9CgkJCQlhcF9y ZXNldF90aW1lb3V0KHIpOwoJCQl9CgkJCWlmICggbGVuX3JlYWQgPCAwICkgewoJCQkJYXBfbG9n X3JlYXNvbiggImVycm9yIHJlYWRpbmcgZnJvbSBjbGllbnQiLCByLT51cmksIHIgKTsKCQkJCXJl dHVybiBIVFRQX0lOVEVSTkFMX1NFUlZFUl9FUlJPUjsKCQkJfQoJCQkvKiBTZW5kIGVuZCBvZiBs aW5lICovCgkJCWlmICggYXBfYnB1dGMoICdcbicsIGljX2J1ZmYgKSA8IDAgKSB7CgkJCQlhcF9s b2dfcmVhc29uKCAiZXJyb3Igd3JpdGluZyB0byBJbnRlcmNoYW5nZSIsIHItPnVyaSwgciApOwoJ CQkJcmV0dXJuIEhUVFBfSU5URVJOQUxfU0VSVkVSX0VSUk9SOwoJCQl9CgkJfQoJfQoKCS8qIFdl IGFyZSBkb25lICovCglpZiAoIGFwX2JwdXRzKCAiZW5kXG4iLCBpY19idWZmICkgPCAwICkgewoJ CWFwX2xvZ19yZWFzb24oICJlcnJvciB3cml0aW5nIHRvIEludGVyY2hhbmdlIiwgci0+dXJpLCBy ICk7CgkJcmV0dXJuIEhUVFBfSU5URVJOQUxfU0VSVkVSX0VSUk9SOwoJfQoJYXBfcmVzZXRfdGlt ZW91dCggciApOwoJaWYgKCBhcF9iZmx1c2goIGljX2J1ZmYgKSA8IDAgKSB7CgkJYXBfbG9nX3Jl YXNvbiggImVycm9yIHdyaXRpbmcgdG8gSW50ZXJjaGFuZ2UiLCByLT51cmksIHIgKTsKCQlyZXR1 cm4gSFRUUF9JTlRFUk5BTF9TRVJWRVJfRVJST1I7Cgl9CgoJYXBfa2lsbF90aW1lb3V0KCByICk7 CgoJcmV0dXJuIE9LOwp9CgpzdGF0aWMgaW50CmljX3RyYW5zZmVyX3Jlc3BvbnNlKCByZXF1ZXN0 X3JlYyAqciwgaWNfY29uZl9yZWMgKmNvbmZfcmVjLAoJCQkJCSAgQlVGRiAqaWNfYnVmZiApCnsK CWNoYXIgZXJyb3JfYnVmZltNQVhfU1RSSU5HX0xFTl07CglCVUZGICpjbGllbnRfYnVmZjsKCWlu dCByYzsKCglhcnJheV9oZWFkZXIgKnJlc3BfYnVmZl9hcnI7CglpbnQgY3VyX3JlYWRpbmdfZWx0 OwoJaW50IGN1cl93cml0aW5nX2VsdDsKCgkvKiBGb3IgYXBfc2VsZWN0ICovCglmZF9zZXQgcmVh ZGVycyx3cml0ZXJzOwoJaW50IGNsaWVudF9mZCxpY19mZCxtYXhmZDsKCWludCByZWFkaW5nLHdy aXRpbmc7CgoJYXBfaGFyZF90aW1lb3V0KCAiaWNfdHJhbnNmZXJfcmVzcG9uc2UiLCByICk7CgoJ LyogU2NhbiB0aGUgcmVxdWVzdCByZXNwb25zZSBmb3IgQ0dJIGhlYWRlcnMgKi8KCWlmICggYXBf c2Nhbl9zY3JpcHRfaGVhZGVyX2Vycl9idWZmKCByLCBpY19idWZmLCBlcnJvcl9idWZmICkgIT0g T0sgKQoJewoJCWFwX2xvZ19yZXJyb3IoIEFQTE9HX01BUkssIEFQTE9HX0VSUnxBUExPR19OT0VS Uk5PLCByLAoJCQkJCSAgICJFcnJvciB3aGlsZSBzY2FubmluZyByZXNwb25zZSBoZWFkZXJzOiAl cyIsCgkJCQkJICAgZXJyb3JfYnVmZiApOwoKCQlyZXR1cm4gSFRUUF9JTlRFUk5BTF9TRVJWRVJf RVJST1I7Cgl9CgoJLyogU2VuZCBiZWdnaW5pbmcgb2YgdGhlIHJlc3BvbnNlICovCglhcF9yZXNl dF90aW1lb3V0KCByICk7CglhcF9zZW5kX2h0dHBfaGVhZGVyKCByICk7CgkvKiBNYWtlIHN1cmUg YWxsIGhlYWRlcnMgYXJlIGZsdXNoZWQgKi8KCWlmICggYXBfcmZsdXNoKCByICkgPCAwICkgewoJ CWFwX2xvZ19yZWFzb24oICJlcnJvciBzZW5kaW5nIGhlYWRlcnMgdG8gY2xpZW50Iiwgci0+dXJp LCByICk7CgkJcmV0dXJuIEhUVFBfSU5URVJOQUxfU0VSVkVSX0VSUk9SOwoJfQoJYXBfcmVzZXRf dGltZW91dChyKTsKCgkvKiBPSywgbm93IHR1cm4gb24gbm9uIGJsb2NraW5nIElPICovCgljbGll bnRfYnVmZiA9IHItPmNvbm5lY3Rpb24tPmNsaWVudDsKCWlmICggKHJjID0gYXBfYm5vbmJsb2Nr KCBjbGllbnRfYnVmZiwgQl9XUiApICkgIT0gMCApCgl7CgkJYXBfbG9nX3JlYXNvbiggImVycm9y IHR1cm5pbmcgbm9uIGJsb2NraW5nIEkvTyBvbiBjbGllbnQiLAoJCQkJCSAgIHItPnVyaSwgciAp OwoJCXJldHVybiBIVFRQX0lOVEVSTkFMX1NFUlZFUl9FUlJPUjsKCX0KCWlmICggKHJjID0gYXBf Ym5vbmJsb2NrKCBpY19idWZmLCBCX1JEICkgKSAhPSAwICkKCXsKCQlhcF9sb2dfcmVhc29uKCAi ZXJyb3IgdHVybmluZyBub24gYmxvY2tpbmcgSS9PIG9uIEludGVyY2hhbmdlIiwKCQkJCQkgICBy LT51cmksIHIgKTsKCQlyZXR1cm4gSFRUUF9JTlRFUk5BTF9TRVJWRVJfRVJST1I7Cgl9CglhcF9i c2V0ZmxhZyggaWNfYnVmZiwgQl9TQUZFUkVBRCwgMSApOwoKCXJlYWRpbmcgPSAxLCB3cml0aW5n ID0gMTsKCWNsaWVudF9mZCAgICA9IGFwX2JmaWxlbm8oIGNsaWVudF9idWZmLCBCX1dSICk7Cglp Y19mZAkJID0gYXBfYmZpbGVubyggaWNfYnVmZiwgQl9SRCApOwoJbWF4ZmQgICAgICAgPSBjbGll bnRfZmQgPiBpY19mZCA/IGNsaWVudF9mZCA6IGljX2ZkOwoJbWF4ZmQrKzsKCgkvKiBBbGxvY2F0 ZSBhcnJheSBmb3IgcmVzcG9uc2UgKi8KCXJlc3BfYnVmZl9hcnIgPSBhcF9tYWtlX2FycmF5KHIt PnBvb2wsIDUsIHNpemVvZihpY19yZXNwb25zZV9idWZmZXIgKSApOwoJaWYgKCAhcmVzcF9idWZm X2FyciApIHsKCQlhcF9sb2dfcmVhc29uKCAiZmFpbGVkIHRvIGFsbG9jYXRlIHJlc3BvbnNlIGJ1 ZmZlciIsIHItPnVyaSwgciApOwoJCXJldHVybiBIVFRQX0lOVEVSTkFMX1NFUlZFUl9FUlJPUjsK CX0KCS8qIENyZWF0ZSB0aGUgZmlyc3QgZWxlbWVudCAqLwoJaWYgKCBhcF9wdXNoX2FycmF5KCBy ZXNwX2J1ZmZfYXJyICkgPT0gTlVMTCApIHsKCQlhcF9sb2dfcmVhc29uKCAiZmFpbGVkIHRvIGFs bG9jYXRlIGZpcnN0IGVsZW1lbnQiLCByLT51cmksIHIgKTsKCQlyZXR1cm4gSFRUUF9JTlRFUk5B TF9TRVJWRVJfRVJST1I7Cgl9CgljdXJfcmVhZGluZ19lbHQgPSAwLCBjdXJfd3JpdGluZ19lbHQg PSAwOwoKCXdoaWxlICgxKSB7CgkJaW50IGk7CgoJCUZEX1pFUk8oJnJlYWRlcnMpOwoJCUZEX1pF Uk8oJndyaXRlcnMpOwoKCQlpZiAoICFyZWFkaW5nICYmICF3cml0aW5nKSB7CgkJCWJyZWFrOwoJ CX0KCgkJaWYgKCByZWFkaW5nICkKCQkJRkRfU0VUKCBpY19mZCwgJnJlYWRlcnMgKTsKCgkJaWYg KCB3cml0aW5nICkKCQkJRkRfU0VUKGNsaWVudF9mZCwgJndyaXRlcnMpOwoKCQlpZiAoICggcmMg PSBhcF9zZWxlY3QoIG1heGZkLCAmcmVhZGVycywgJndyaXRlcnMsIE5VTEwsIE5VTEwgKSApIDwg MCApCgkJewoJCQlhcF9sb2dfcmVhc29uKCAiZXJyb3IgaW4gYXBfc2VsZWN0Iiwgci0+dXJpLCBy ICk7CgkJCXJldHVybiBIVFRQX0lOVEVSTkFMX1NFUlZFUl9FUlJPUjsKCQl9CgoJCWlmICggcmVh ZGluZyAmJiBGRF9JU1NFVCggaWNfZmQsICZyZWFkZXJzICkgKQoJCXsKCQkJaW50IHJlYWRfbGVu LGxlZnQ7CgkJCWljX3Jlc3BvbnNlX2J1ZmZlciAqcmVzcF9idWZmOwoJCQljaGFyICpidWZmOwoK CQkJcmVzcF9idWZmID0gKChpY19yZXNwb25zZV9idWZmZXIgKilyZXNwX2J1ZmZfYXJyLT5lbHRz KTsKCQkJZm9yICggaT0wOyBpPCBjdXJfcmVhZGluZ19lbHQ7IGkrKykKCQkJCXJlc3BfYnVmZisr OwoKCQkJYnVmZiA9IHJlc3BfYnVmZi0+YnVmZjsKCQkJYnVmZiArPSByZXNwX2J1ZmYtPmJ1ZmZf c2l6ZTsKCQkJbGVmdCA9IEhVR0VfU1RSSU5HX0xFTiAtIHJlc3BfYnVmZi0+YnVmZl9zaXplOwoK CQkJcmVhZF9sZW4gPSBhcF9icmVhZCggaWNfYnVmZiwgYnVmZiwgbGVmdCApOwoJCQlpZiAoIHJl YWRfbGVuIDwgMCApIHsKCQkJCWFwX2xvZ19yZWFzb24oICJlcnJvciB3aGlsZSByZWFkaW5nIElu dGVyY2hhbmdlIHJlc3BvbnNlIiwKCQkJCQkJCSAgIHItPnVyaSwgciApOwoJCQkJcmV0dXJuIEhU VFBfSU5URVJOQUxfU0VSVkVSX0VSUk9SOwoJCQl9IGVsc2UgaWYgKCByZWFkX2xlbiA9PSAwICkg ewoJCQkJcmVhZGluZyA9IDA7CgkJCX0gZWxzZSB7CgkJCQlyZXNwX2J1ZmYtPmJ1ZmZfc2l6ZSAr PSByZWFkX2xlbjsKCQkJCXdyaXRpbmcgPSAxOyAvKiBGbGFnIHRvIGluZGljYXRlIHRoYXQgdGhl cmUgaXMgbm93CgkJCQkJCQkJd3JpdGluZyB0byBkbyAqLwoKCQkJCWlmICggcmVzcF9idWZmLT5i dWZmX3NpemUgPT0gSFVHRV9TVFJJTkdfTEVOICkgewoJCQkJCS8qIENyZWF0ZSBhIG5ldyByZXNw b25zZSBidWZmZXIgaW4gdGhlIGFycmF5ICovCgkJCQkJcmVzcF9idWZmID0KCQkJCQkJKGljX3Jl c3BvbnNlX2J1ZmZlciAqKWFwX3B1c2hfYXJyYXkocmVzcF9idWZmX2Fycik7CgkJCQkJaWYgKCAh cmVzcF9idWZmICkgewoJCQkJCQlhcF9sb2dfcmVhc29uKCAiZXJyb3Igd2hpbGUgYWxsb2NhdGlu ZyAiCgkJCQkJCQkJCSAgICJyZXNwb25zZSBidWZmZXIiLCByLT51cmksIHIgKTsKCQkJCQkJcmV0 dXJuIEhUVFBfSU5URVJOQUxfU0VSVkVSX0VSUk9SOwoJCQkJCX0KCQkJCQljdXJfcmVhZGluZ19l bHQrKzsKCQkJCX0KCQkJfQoJCX0KCQlpZiAoIHdyaXRpbmcgJiYgRkRfSVNTRVQoIGNsaWVudF9m ZCwgJndyaXRlcnMgKSApCgkJewoJCQlpbnQgd3JpdGVfbGVuLGxlZnQ7CgkJCWljX3Jlc3BvbnNl X2J1ZmZlciAqcmVzcF9idWZmOwoJCQljaGFyICpidWZmOwoKCQkJcmVzcF9idWZmID0gKGljX3Jl c3BvbnNlX2J1ZmZlciAqKXJlc3BfYnVmZl9hcnItPmVsdHM7CgkJCWZvciAoIGk9MDsgaTwgY3Vy X3dyaXRpbmdfZWx0OyBpKyspCgkJCQlyZXNwX2J1ZmYrKzsKCgkJCWJ1ZmYgPSByZXNwX2J1ZmYt PmJ1ZmY7CgkJCWJ1ZmYgKz0gcmVzcF9idWZmLT5wb3M7CgkJCWxlZnQgPSByZXNwX2J1ZmYtPmJ1 ZmZfc2l6ZSAtIHJlc3BfYnVmZi0+cG9zOwoJCQlpZiAoIGxlZnQgPiAwICkgewoJCQkJd3JpdGVf bGVuID0gYXBfYndyaXRlKCBjbGllbnRfYnVmZiwgYnVmZiwgbGVmdCApOwoJCQkJaWYgKCB3cml0 ZV9sZW4gPCAwICkgewoJCQkJCWFwX2xvZ19yZWFzb24oICJlcnJvciB3aGlsZSBzZW5kaW5nIHJl c3BvbnNlIiwKCQkJCQkJCQkgICByLT51cmksIHIgKTsKCQkJCQlyZXR1cm4gSFRUUF9JTlRFUk5B TF9TRVJWRVJfRVJST1I7CgkJCQl9CgkJCQlyZXNwX2J1ZmYtPnBvcyArPSB3cml0ZV9sZW47CgoJ CQkJaWYgKCByZXNwX2J1ZmYtPnBvcyA9PSByZXNwX2J1ZmYtPmJ1ZmZfc2l6ZSApIHsKCQkJCQlp ZiAoICEgcmVhZGluZyAmJiBjdXJfd3JpdGluZ19lbHQgPT0KCQkJCQkJIGN1cl9yZWFkaW5nX2Vs dCApCgkJCQkJewoJCQkJCQkvKiBEb25lICovCgkJCQkJCXdyaXRpbmcgPSAwOwoJCQkJCX0gZWxz ZSBpZiAoIHJlc3BfYnVmZi0+cG9zID09IEhVR0VfU1RSSU5HX0xFTiApCgkJCQkJewoJCQkJCQkv KiBObyByZW1haW5pbmcgc3BhY2UgaW4gdGhlIGJ1ZmZlcgoJCQkJCQkgKi8KCQkJCQkJY3VyX3dy aXRpbmdfZWx0Kys7CgkJCQkJfSBlbHNlIHsKCQkJCQkJLyoKCQkJCQkJICBJdCBzZWVtcyB0aGF0 IGFsbCB0aGF0IHdhcyByZWFkIGhhcyBiZWVuCgkJCQkJCSAgc2VudCwgc28gd2FpdCBmb3IgbW9y ZSBkYXRhLgoJCQkJCQkgKi8KCQkJCQkJd3JpdGluZyA9IDA7CgkJCQkJfQoJCQkJfQoJCQl9IGVs c2UgewoJCQkJd3JpdGluZyA9IDA7CgkJCX0KCQl9CgoJCWFwX3Jlc2V0X3RpbWVvdXQocik7Cgl9 CgoJLyogUHVzaCBldmVyeXRoaW5nIHRvIHRoZSBjbGllbnQgKi8KCWlmICggYXBfYmZsdXNoKCBj bGllbnRfYnVmZiApIDwgMCApIHsKCQlhcF9sb2dfcmVhc29uKCAiZXJyb3Igc2VuZGluZyByZXNw b25zZSB0byBjbGllbnQiLCByLT51cmksIHIpOwoJCXJldHVybiBIVFRQX0lOVEVSTkFMX1NFUlZF Ul9FUlJPUjsKCX0KCglhcF9raWxsX3RpbWVvdXQocik7CglyZXR1cm4gT0s7Cn0KCnN0YXRpYyBp bnQKaWNfaGFuZGxlciggcmVxdWVzdF9yZWMgKnIpCnsKCWljX2NvbmZfcmVjICpjb25mX3JlYzsK CUJVRkYgKmljX2J1ZmY7CglpbnQgcmVzdWx0OwoKCS8qIEdyYWIgb3VyIGNvbmZpZ3VyYXRpb24g Ki8KCWNvbmZfcmVjID0gKGljX2NvbmZfcmVjICopYXBfZ2V0X21vZHVsZV9jb25maWcoIHItPnBl cl9kaXJfY29uZmlnLAoJCQkJCQkJCQkJCQkJJmludGVyY2hhbmdlX21vZHVsZSApOwoJaWYgKCAh IGNvbmZfcmVjICkgewoJCWFwX2xvZ19yZWFzb24oICJpbnRlcmNoYW5nZS1oYW5kbGVyIG5vdCBj b25maWd1cmVkIHByb3Blcmx5IiwKCQkJCQkgICByLT51cmksIHIpOwoJCXJldHVybiBIVFRQX0lO VEVSTkFMX1NFUlZFUl9FUlJPUjsKCX0KCglpY19idWZmID0gaWNfY29ubmVjdCggciwgY29uZl9y ZWMgKTsKCWlmICggIWljX2J1ZmYgKQoJCXJldHVybiBIVFRQX0lOVEVSTkFMX1NFUlZFUl9FUlJP UjsKCglyZXN1bHQgPSBpY19zZW5kX3JlcXVlc3QoIHIsIGNvbmZfcmVjLCBpY19idWZmICk7Cglp ZiAoIHJlc3VsdCAhPSBPSyApCgkJcmV0dXJuIHJlc3VsdDsKCglyZXR1cm4gaWNfdHJhbnNmZXJf cmVzcG9uc2UoIHIsIGNvbmZfcmVjLCBpY19idWZmICk7Cn0KCi8qIE91ciBjb25maWd1cmF0aW9u IGRpcmVjdGl2ZXMgKi8Kc3RhdGljIGNvbW1hbmRfcmVjIGljX2NtZHNbXSA9CnsKICAgIHsKICAg ICJJbnRlcmNoYW5nZVNlcnZlciIsCQkJLyogZGlyZWN0aXZlIG5hbWUgKi8KICAgIGljX3NlcnZl cl9jbWQsCQkJCQkvKiBjb25maWcgYWN0aW9uIHJvdXRpbmUgKi8KICAgIE5VTEwsCQkJCQkJCS8q IGFyZ3VtZW50IHRvIGluY2x1ZGUgaW4gY2FsbCAqLwogICAgQUNDRVNTX0NPTkYsCQkJCQkvKiB3 aGVyZSBhdmFpbGFibGUgKi8KICAgIFRBS0UxLAkJCQkJCQkvKiBhcmd1bWVudHMgKi8KICAgICJh ZGRyZXNzIG9mIEludGVyY2hhbmdlIHNlcnZlciIJLyogZGlyZWN0aXZlIGRlc2NyaXB0aW9uICov CiAgICB9LAoJe05VTEx9Cn07CgovKiBNYWtlIHRoZSBuYW1lIG9mIHRoZSBjb250ZW50IGhhbmRs ZXIga25vd24gdG8gQXBhY2hlICovCnN0YXRpYyBoYW5kbGVyX3JlYyBpY19oYW5kbGVyc1tdID0g ewogICAgeyJpbnRlcmNoYW5nZS1oYW5kbGVyIiwgaWNfaGFuZGxlcn0sCiAgICB7TlVMTH0KfTsK Ci8qIFRlbGwgQXBhY2hlIHdoYXQgcGhhc2VzIG9mIHRoZSB0cmFuc2FjdGlvbiB3ZSBoYW5kbGUg Ki8KbW9kdWxlIE1PRFVMRV9WQVJfRVhQT1JUIGludGVyY2hhbmdlX21vZHVsZSA9CnsKCQlTVEFO REFSRF9NT0RVTEVfU1RVRkYsCgkJTlVMTCwJCQkJCS8qIG1vZHVsZSBpbml0aWFsaXplciAgICAg ICAgICAgICAgICAgKi8KCQlpY19jcmVhdGVfZGlyX2NvbmZpZywJLyogcGVyLWRpcmVjdG9yeSBj b25maWcgY3JlYXRvciAgICAgICAqLwoJCU5VTEwsCQkJCQkvKiBkaXIgY29uZmlnIG1lcmdlciAg ICAgICAgICAgICAgICAgICovCgkJTlVMTCwJCQkJCS8qIHNlcnZlciBjb25maWcgY3JlYXRvciAg ICAgICAgICAgICAgKi8KCQlOVUxMLAkJCQkJLyogc2VydmVyIGNvbmZpZyBtZXJnZXIgICAgICAg ICAgICAgICAqLwoJCWljX2NtZHMsCQkJCS8qIGNvbW1hbmQgdGFibGUgICAgICAgICAgICAgICAg ICAgICAgKi8KCQlpY19oYW5kbGVycywJCQkvKiBbN10gIGNvbnRlbnQgaGFuZGxlcnMgICAgICAg ICAgICAgICovCgkJTlVMTCwJCQkJCS8qIFsyXSAgVVJJLXRvLWZpbGVuYW1lIHRyYW5zbGF0aW9u ICAgKi8KCQlOVUxMLAkJCQkJLyogWzVdICBjaGVjay92YWxpZGF0ZSB1c2VyX2lkICAgICAgICAq LwoJCU5VTEwsCQkJCQkvKiBbNl0gIGNoZWNrIHVzZXJfaWQgaXMgdmFsaWQgKmhlcmUqICovCgkJ TlVMTCwJCQkJCS8qIFs0XSAgY2hlY2sgYWNjZXNzIGJ5IGhvc3QgYWRkcmVzcyAgKi8KCQlOVUxM LAkJCQkJLyogWzddICBNSU1FIHR5cGUgY2hlY2tlci9zZXR0ZXIgICAgICAqLwoJCU5VTEwsCQkJ CQkvKiBbOF0gIGZpeHVwcyAgICAgICAgICAgICAgICAgICAgICAgICovCgkJTlVMTCwJCQkJCS8q IFs5XSAgbG9nZ2VyICAgICAgICAgICAgICAgICAgICAgICAgKi8KCQlOVUxMLAkJCQkJLyogWzNd ICBoZWFkZXIgcGFyc2VyICAgICAgICAgICAgICAgICAqLwoJCU5VTEwsCQkJCQkvKiBwcm9jZXNz IGluaXRpYWxpemF0aW9uICAgICAgICAgICAgICovCgkJTlVMTCwJCQkJCS8qIHByb2Nlc3MgZXhp dC9jbGVhbnVwICAgICAgICAgICAgICAgKi8KCQlOVUxMCQkJCQkvKiBbMV0gIHBvc3QgcmVhZF9y ZXF1ZXN0IGhhbmRsaW5nICAgICovCn07Cg== --_=_=_=IMA.BOUNDARY.GRORZ5138764=_=_=_-- **= Email 6 ==========================** Date: Sun, 17 Feb 2002 12:41:17 +0000 From: John Poltorak Subject: include\bsd Does anything use \emx\include\bsd\* ? It only contains curses.h and termcap.h and I think we could use the versions of these files which are available in NCURSES. Can we get rid of the bsd directory? And if so, I guess btermcap. and btermcap.lib could go too... -- John **= Email 7 ==========================** Date: Sun, 17 Feb 2002 13:42:48 +0100 (CET) From: Stefan Neis Subject: Re: Apache module and 'inet_aton' error On Sun, 17 Feb 2002, Lyn St George wrote: > I've added: > #if !defined(inet_aton) > typedef int(inet_aton(const char *cp, struct in_addr * addr)); > #endif Oops! inet_aton is supposed to be a function name, not a type name. It does approximately the same as inet_addr.. Typical use is e.g. something like: const char *hostname; struct in_addr *addr; /* If it is a numeric host name, convert it now */ #if defined(HAVE_INET_ATON) if (inet_aton(hostname, addr) == 0) { /* error, cant resolve hostname */ #elif defined(HAVE_INET_ADDR) if ( (addr->s_addr = inet_addr(hostname)) == -1 ) { /* error, can't resolve hostname (or hostname happens to resolve to 255.255.255.255 */ #else if (1) { #endif /* use e.g. gethostbyname to resolve the address */ } EMX contains inet_addr only, POSIX/2 contains inet_aton as well. HTH, Stefan -- Micro$oft is not an answer. It is a question. The answer is 'no'. **= Email 8 ==========================** Date: Sun, 17 Feb 2002 14:35:40 +0100 (CET) From: "Anders Jarnberg" Subject: Newbie Q re gcc 3.0.2 Hi all, I'm trying to "upgrade" from EMX04d to gcc 3.0.2 beta. I do as per instructions in INSTALL and the OS2ezine and gcc -v produces the expected 3.0.2 response. I've tried both the version with running it all from bin.new and the version where everything is installed in bin. However, when I try to compile a sample, I get a core dump as below. ---- [eCS D:\emx\samples]gcc -v sieve.c Using builtin specs. Configured with: --enable-clh --enable-threads --disable-shared --enable-nls --without-included-gettext --prefix=/usr Thread model: os2 gcc version 3.0.2 Abnormal program termination core dumped ---- Is there any way I can find out more information about where it's actually crashing, so I can correct the error I've made somewhere ? I'm guessing I've missed something in the setup... Thanks in advance. -- Anders Jarnberg in Stockholm, Sweden running eComStation & Mandrake **= Email 9 ==========================** Date: Sun, 17 Feb 2002 14:55:47 +0000 From: John Poltorak Subject: Re: Newbie Q re gcc 3.0.2 On Sun, Feb 17, 2002 at 02:35:40PM +0100, Anders Jarnberg wrote: > However, when I try to compile a sample, I get a core dump > as below. > > ---- > [eCS D:\emx\samples]gcc -v sieve.c > Using builtin specs. > Configured with: --enable-clh --enable-threads --disable-shared > --enable-nls --without-included-gettext --prefix=/usr > Thread model: os2 > gcc version 3.0.2 > > Abnormal program termination > core dumped It works OK here. Have you tried something compiling something like 'hello, world' ? > ---- > > Is there any way I can find out more information about where > it's actually crashing, so I can correct the error I've made > somewhere ? I'm guessing I've missed something in the setup... Sounds like something wrong in the environment. > Thanks in advance. > > -- > Anders Jarnberg > in Stockholm, Sweden > running eComStation & Mandrake > > -- John **= Email 10 ==========================** Date: Sun, 17 Feb 2002 15:15:19 +0100 From: Holger Veit Subject: Re: Apache module and 'inet_aton' error On Sun, Feb 17, 2002 at 11:47:30AM +0000, Lyn St George wrote: > Hi all - I wonder if I could beg for a little help on this problem. > > I'm trying to build mod_interchange into Apache 1.3.22 (this allows the Interchange > perl daemon to connect directly to Apache without a cgi). I've fixed the first > couple of errors - but this _inet_aton error has got me stumped. > > I've added: > #if !defined(inet_aton) > typedef int(inet_aton(const char *cp, struct in_addr * addr)); > #endif Why do you declare inet_aton as a type? It is a function. Holger -- Please update your tables to my new e-mail address: holger.veit$ais.fhg.de (replace the '$' with ' at ' -- spam-protection) **= Email 11 ==========================** Date: Sun, 17 Feb 2002 15:18:34 +0100 From: Holger Veit Subject: Re: include\bsd On Sun, Feb 17, 2002 at 12:41:17PM +0000, John Poltorak wrote: > > > Does anything use \emx\include\bsd\* ? > > It only contains curses.h and termcap.h and I think we could use the > versions of these files which are available in NCURSES. > > Can we get rid of the bsd directory? And if so, I guess btermcap. and > btermcap.lib could go too... It was IIRC EM's way of adding BSD packages into EMX. This directory should go away; Unix has these headers, if at all, in /usr/include. Holger -- Please update your tables to my new e-mail address: holger.veit$ais.fhg.de (replace the '$' with ' at ' -- spam-protection) **= Email 12 ==========================** Date: Sun, 17 Feb 2002 15:36:00 +0000 From: John Poltorak Subject: Make 3.79.1 tests I've been testing Make 3.79.1 by building Autoconf 2.52g and get strange results which seem to indicate problems with sh (from PDKSH) rather than from Make itself. The problems do not occur with BASH. The errors I've encountered are: c:/bin/sh: too many files open in shell and make[2]: spawnvp: c:/bin/sh -x: No such file or directory I haven't discerned the circumstances in which these particular errors occur yet. -- John **= Email 13 ==========================** Date: Sun, 17 Feb 2002 18:46:36 +0000 From: John Poltorak Subject: Which BASH? In view of problems I'm having now with sh.exe from PDKSH, I'm thinking of using BASH instead. Which version is recommended? -- John **= Email 14 ==========================** Date: Sun, 17 Feb 2002 19:07:38 +0000 From: John Poltorak Subject: Re: Autoconf 2.52h On Fri, Feb 15, 2002 at 12:28:48AM +0100, Andreas Buening wrote: > John Poltorak wrote: > > > > On Thu, Feb 14, 2002 at 11:02:32PM +0100, Andreas Buening wrote: > > > John Poltorak wrote: > > > > > > > > There's a new beta of Autoconf here:- > > > > > > > > ftp://alpha.gnu.org/gnu/autoconf/autoconf-2.52h.tar.gz > > > > > > > > I can't get this on to install. There's some msgs about 'Command not > > > > found' which are reminiscent of some Make bugs I've seen. They didn't > > > > occur with the previous beta though. > > > > > > Yes, that's a make bug. > > > > Hopefully that will be fixed before too long ;-)... Indeed it is. It installs OK now using your new Make port, although I need to use BASH instead of PDKSH. > > > However, there is also another bug, > > > so you cannot recreate autoconf's configure script. > > > > Is there a fix available for this? > > You can apply the following if you want: > > --- old/autoconf-2.52h/lib/autom4te.in Tue Feb 5 08:11:24 2002 > +++ new/autoconf-2.52h/lib/autom4te.in Thu Feb 14 22:48:36 2002 Not sure what this fix is for, but if I apply it, I get this error:- Making install in m4sugar make[2]: Entering directory `C:/unixos2/workdir/autoconf-2.52h/lib/m4sugar' { \ echo '# This file is part of -*- Autoconf -*-.'; \ echo '# Version of Autoconf.'; \ echo '# Copyright (C) 1999, 2000, 2001, 2002'; \ echo '# Free Software Foundation, Inc.'; \ echo ;\ echo 'm4_define([m4_PACKAGE_NAME], [GNU Autoconf])'; \ echo 'm4_define([m4_PACKAGE_TARNAME], [autoconf])'; \ echo 'm4_define([m4_PACKAGE_VERSION], [2.52h])'; \ echo 'm4_define([m4_PACKAGE_STRING], [GNU Autoconf 2.52h])'; \ echo 'm4_define([m4_PACKAGE_BUGREPORT], [bug-autoconf at gnu.org])'; \ } >version.m4 cd ../../lib && make autom4te.cfg make[3]: Entering directory `C:/unixos2/workdir/autoconf-2.52h/lib' rm -f autom4te.cfg autom4te.tmp sed -e 's, at SHELL\ at ,c:/bin/sh,g' -e 's, at PERL\ at ,c:/usr/bin/perl.exe,g' -e 's, at bindir\ at ,c:/usr/local/bin,g' -e 's, at datadir\ at ,c:/usr/local/share/autoconf,g' -e 's, at prefix\ at ,c:/usr/local,g' -e 's, at autoconf-name\ at ,'`echo autoconf | sed 's,x,x,'`',g' -e 's, at autoheader-name\ at ,'`echo autoheader | sed 's,x,x,'`',g' -e 's, at autom4te-name\ at ,'`echo autom4te | sed 's,x,x,'`',g' -e 's, at M4\ at ,c:/usr/bin/m4.exe,g' -e 's, at AWK\ at ,awk,g' -e 's, at VERSION\ at ,2.52h,g' -e 's, at PACKAGE_NAME\ at ,GNU Autoconf,g' ./autom4te.in >autom4te.tmp mv autom4te.tmp autom4te.cfg make[3]: Leaving directory `C:/unixos2/workdir/autoconf-2.52h/lib' ../../tests/autom4te \ --language=m4sugar \ --freeze \ --include=./.. \ --include=.. \ --output=m4sugar.m4f autom4te: no such file or directory: lib/m4sugar/m4sugar.m4 make[2]: *** [m4sugar.m4f] Error 1 make[2]: Leaving directory `C:/unixos2/workdir/autoconf-2.52h/lib/m4sugar' > > bye, > Andreas > > -- > One OS to rule them all, One OS to find them, > One OS to bring them all and in the darkness bind them > In the Land of Redmond where the Shadows lie. -- John