Date: Mon, 19 Jul 2004 10:10:25 GMT From: Harti Brandt <harti@freebsd.org> To: freebsd-bugs@FreeBSD.org Subject: Re: bin/61257 Message-ID: <200407191010.i6JAAP4a010294@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR bin/61257; it has been noted by GNATS. From: Harti Brandt <harti@freebsd.org> To: FreeBSD-gnats-submit@freebsd.org Cc: mi@aldan.algebra.com Subject: Re: bin/61257 Date: Mon, 19 Jul 2004 12:06:58 +0200 (CEST) This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --0-1482972238-1090231618=:60467 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed I have slightly adapted the patch. First I have made an extra array to store the line numbers instead of overloading them onto the boolean values - this makes things a little bit clearer to the casual reader. Also parse.c did change in the mean time so changes where neccessary. There is also another problem with the original patch: if inside a false conditional conditionals are actually not parsed and not put onto the conditional stack (because parsing them might give parsing errors). The variable skipIfCount just records the nesting level of skipped ifs. So we need another stack of line numbers for skipped ifs. I hope I got this right. Could you please check the attached patch? If its ok I'll commit this. harti --0-1482972238-1090231618=:60467 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="61257.new" Content-Transfer-Encoding: BASE64 Content-ID: <20040719120658.R60467@beagle.kn.op.dlr.de> Content-Description: Content-Disposition: attachment; filename="61257.new" SW5kZXg6IGNvbmQuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZp bGU6IC9sb2NhbC9jdnMvZnJlZWJzZC9zcmMvdXNyLmJpbi9tYWtlL2NvbmQu Yyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjcNCmRpZmYgLXUgLXIxLjI3 IGNvbmQuYw0KLS0tIGNvbmQuYwk3IFNlcCAyMDAzIDAyOjE2OjEwIC0wMDAw CTEuMjcNCisrKyBjb25kLmMJMTkgSnVsIDIwMDQgMTA6MDM6MDYgLTAwMDAN CkBAIC0xMzMsOCArMTMzLDEwIEBADQogI2RlZmluZQlNQVhJRgkJMzAJICAv KiBncmVhdGVzdCBkZXB0aCBvZiAjaWYnaW5nICovDQogDQogc3RhdGljIEJv b2xlYW4JICBjb25kU3RhY2tbTUFYSUZdOyAJLyogU3RhY2sgb2YgY29uZGl0 aW9uYWxzJ3MgdmFsdWVzICovDQorc3RhdGljIGludAkgIGNvbmRMaW5lbm9b TUFYSUZdOwkvKiBMaW5lIG51bWJlcnMgb2YgdGhlIG9wZW5pbmcgLmlmICov DQogc3RhdGljIGludCAgCSAgY29uZFRvcCA9IE1BWElGOyAgCS8qIFRvcC1t b3N0IGNvbmRpdGlvbmFsICovDQogc3RhdGljIGludCAgCSAgc2tpcElmTGV2 ZWw9MDsgICAgCS8qIERlcHRoIG9mIHNraXBwZWQgY29uZGl0aW9uYWxzICov DQorc3RhdGljIGludAkgIHNraXBJZkxpbmVub1tNQVhJRl07ICAvKiBMaW5l IG51bWJlcnMgb2Ygc2tpcHBlZCAuaWZzICovDQogc3RhdGljIEJvb2xlYW4J ICBza2lwTGluZSA9IEZBTFNFOyAJLyogV2hldGhlciB0aGUgcGFyc2UgbW9k dWxlIGlzIHNraXBwaW5nDQogCQkJCQkgKiBsaW5lcyAqLw0KIA0KQEAgLTEw NDcsOCArMTA0OSwxMCBAQA0KICAgICBCb29sZWFuIAkgICAgaXNFbHNlOw0K ICAgICBCb29sZWFuIAkgICAgdmFsdWUgPSBGQUxTRTsNCiAgICAgaW50CSAg ICAJICAgIGxldmVsOyAgCS8qIExldmVsIGF0IHdoaWNoIHRvIHJlcG9ydCBl cnJvcnMuICovDQorICAgIGludAkJICAgIGxpbmVubzsNCiANCiAgICAgbGV2 ZWwgPSBQQVJTRV9GQVRBTDsNCisgICAgbGluZW5vID0gY3VyRmlsZS5saW5l bm87DQogDQogICAgIGZvciAobGluZSsrOyAqbGluZSA9PSAnICcgfHwgKmxp bmUgPT0gJ1x0JzsgbGluZSsrKSB7DQogCWNvbnRpbnVlOw0KQEAgLTExMDks NiArMTExMyw3IEBADQogCQlyZXR1cm4gKENPTkRfSU5WQUxJRCk7DQogCSAg ICB9IGVsc2UgaWYgKHNraXBJZkxldmVsID09IDApIHsNCiAJCXZhbHVlID0g IWNvbmRTdGFja1tjb25kVG9wXTsNCisJCWxpbmVubyA9IGNvbmRMaW5lbm9b Y29uZFRvcF07DQogCSAgICB9IGVsc2Ugew0KIAkJcmV0dXJuIChDT05EX1NL SVApOw0KIAkgICAgfQ0KQEAgLTExMzAsNiArMTEzNSw3IEBADQogCQkgKiB1 bmRlZmluZWQsIGZvciB3aGljaCB0aGVyZSdzIGFuIGVuY2xvc2luZyBpZmRl ZiB0aGF0DQogCQkgKiB3ZSdyZSBza2lwcGluZy4uLg0KIAkJICovDQorCSAg ICAgICAgc2tpcElmTGluZW5vW3NraXBJZkxldmVsIC0gMV0gPSBsaW5lbm87 DQogCQlyZXR1cm4oQ09ORF9TS0lQKTsNCiAJICAgIH0NCiAJfSBlbHNlIGlm IChza2lwTGluZSkgew0KQEAgLTExMzcsNiArMTE0Myw3IEBADQogCSAgICAg KiBEb24ndCBldmVuIHRyeSB0byBldmFsdWF0ZSBhIGNvbmRpdGlvbmFsIHRo YXQncyBub3QgYW4gZWxzZSBpZg0KIAkgICAgICogd2UncmUgc2tpcHBpbmcg dGhpbmdzLi4uDQogCSAgICAgKi8NCisJICAgIHNraXBJZkxpbmVub1tza2lw SWZMZXZlbF0gPSBsaW5lbm87DQogCSAgICBza2lwSWZMZXZlbCArPSAxOw0K IAkgICAgcmV0dXJuKENPTkRfU0tJUCk7DQogCX0NCkBAIC0xMjAyLDYgKzEy MDksNyBAQA0KIAlyZXR1cm4gKENPTkRfSU5WQUxJRCk7DQogICAgIH0gZWxz ZSB7DQogCWNvbmRTdGFja1tjb25kVG9wXSA9IHZhbHVlOw0KKwljb25kTGlu ZW5vW2NvbmRUb3BdID0gbGluZW5vOw0KIAlza2lwTGluZSA9ICF2YWx1ZTsN CiAJcmV0dXJuICh2YWx1ZSA/IENPTkRfUEFSU0UgOiBDT05EX1NLSVApOw0K ICAgICB9DQpAQCAtMTIyMyw5ICsxMjMxLDIxIEBADQogdm9pZA0KIENvbmRf RW5kKHZvaWQpDQogew0KKyAgICBpbnQgbGV2ZWw7DQorICAgIGNoYXIgc3Bh Y2VzW01BWElGXTsNCisNCiAgICAgaWYgKGNvbmRUb3AgIT0gTUFYSUYpIHsN Ci0JUGFyc2VfRXJyb3IoUEFSU0VfRkFUQUwsICIlZCBvcGVuIGNvbmRpdGlv bmFsJXMiLCBNQVhJRi1jb25kVG9wLA0KLQkJICAgIE1BWElGLWNvbmRUb3Ag PT0gMSA/ICIiIDogInMiKTsNCisJUGFyc2VfRXJyb3IoUEFSU0VfRkFUQUws ICIlZCBvcGVuIGNvbmRpdGlvbmFsJXM6IiwNCisJICAgIE1BWElGIC0gY29u ZFRvcCArIHNraXBJZkxldmVsLA0KKyAJICAgIE1BWElGIC0gY29uZFRvcCAr IHNraXBJZkxldmVsPT0gMSA/ICIiIDogInMiKTsNCisNCisJZm9yIChsZXZl bCA9IHNraXBJZkxldmVsOyBsZXZlbCA+IDA7IGxldmVsLS0pDQorCQlQYXJz ZV9FcnJvcihQQVJTRV9GQVRBTCwgIlx0JSpzYXQgbGluZSAlZCAoc2tpcHBl ZCkiLA0KKwkJICAgIE1BWElGIC0gY29uZFRvcCArIGxldmVsICsgMSwgIiIs IHNraXBJZkxpbmVub1tsZXZlbCAtIDFdKTsNCisJZm9yIChsZXZlbCA9IGNv bmRUb3A7IGxldmVsIDwgTUFYSUY7IGxldmVsKyspDQorCQlQYXJzZV9FcnJv cihQQVJTRV9GQVRBTCwgIlx0JSpzYXQgbGluZSAlZCAiDQorCQkgICAgIihl dmFsdWF0ZWQgdG8gJXMpIiwgTUFYSUYgLSBsZXZlbCArIHNraXBJZkxldmVs LCAiIiwNCisJCSAgICBjb25kTGluZW5vW2xldmVsXSwgY29uZFN0YWNrW2xl dmVsXSA/ICJ0cnVlIiA6ICJmYWxzZSIpOw0KICAgICB9DQogICAgIGNvbmRU b3AgPSBNQVhJRjsNCiB9DQpJbmRleDogbWFrZS5oDQo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09DQpSQ1MgZmlsZTogL2xvY2FsL2N2cy9mcmVlYnNkL3NyYy91 c3IuYmluL21ha2UvbWFrZS5oLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4y Mw0KZGlmZiAtdSAtcjEuMjMgbWFrZS5oDQotLS0gbWFrZS5oCTEwIE9jdCAy MDAyIDE5OjI3OjQ4IC0wMDAwCTEuMjMNCisrKyBtYWtlLmgJMTkgSnVsIDIw MDQgMDk6MDU6NTggLTAwMDANCkBAIC0xNDEsNiArMTQxLDIxIEBADQogCQkJ CSAqIGJ1dCB0aGUgU3VmZiBtb2R1bGUpICovDQogfSBHTm9kZTsNCiANCisN CisvKg0KKyAqIERlZmluaXRpb25zIGZvciBoYW5kbGluZyAjaW5jbHVkZSBz cGVjaWZpY2F0aW9ucw0KKyAqLw0KK3R5cGVkZWYgc3RydWN0IHsNCisgICAg Y2hhciAqc3RyOw0KKyAgICBjaGFyICpwdHI7DQorfSBQVFI7DQordHlwZWRl ZiBzdHJ1Y3QgSUZpbGUgew0KKyAgICBjaGFyICAgICAgICAgICAgKmZuYW1l OwkgICAgLyogbmFtZSBvZiBwcmV2aW91cyBmaWxlICovDQorICAgIGludCAg ICAgICAgICAgICBsaW5lbm87CSAgICAvKiBzYXZlZCBsaW5lIG51bWJlciAq Lw0KKyAgICBGSUxFCSAgICAqRjsJCSAgICAvKiB0aGUgb3BlbiBzdHJlYW0g Ki8NCisgICAgUFRSCQkgICAgKnA7CSAgICAJICAgIC8qIHRoZSBjaGFyIHBv aW50ZXIgKi8NCit9IElGaWxlOw0KKw0KIC8qDQogICogVGhlIE9QXyBjb25z dGFudHMgYXJlIHVzZWQgd2hlbiBwYXJzaW5nIGEgZGVwZW5kZW5jeSBsaW5l IGFzIGEgd2F5IG9mDQogICogY29tbXVuaWNhdGluZyB0byBvdGhlciBwYXJ0 cyBvZiB0aGUgcHJvZ3JhbSB0aGUgd2F5IGluIHdoaWNoIGEgdGFyZ2V0DQpA QCAtMjczLDYgKzI4OCw3IEBADQogCQkJCSAqIG1ha2UoLi4uKSBzdGF0ZW1l bnRzICovDQogZXh0ZXJuIExzdCAgICAgCWRpclNlYXJjaFBhdGg7IAkvKiBU aGUgbGlzdCBvZiBkaXJlY3RvcmllcyB0byBzZWFyY2ggd2hlbg0KIAkJCQkg KiBsb29raW5nIGZvciB0YXJnZXRzICovDQorZXh0ZXJuIElGaWxlCWN1ckZp bGU7CS8qIGN1cnJlbnQgbWFrZWZpbGUgKi8NCiBleHRlcm4gTHN0CXBhcnNl SW5jUGF0aDsJLyogVGhlIGxpc3Qgb2YgZGlyZWN0b3JpZXMgdG8gc2VhcmNo IHdoZW4NCiAJCQkJICogbG9va2luZyBmb3IgaW5jbHVkZXMgKi8NCiANCklu ZGV4OiBwYXJzZS5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmls ZTogL2xvY2FsL2N2cy9mcmVlYnNkL3NyYy91c3IuYmluL21ha2UvcGFyc2Uu Yyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNTUNCmRpZmYgLXUgLXIxLjU1 IHBhcnNlLmMNCi0tLSBwYXJzZS5jCTIgSnVsIDIwMDQgMTI6MzA6MjggLTAw MDAJMS41NQ0KKysrIHBhcnNlLmMJMTkgSnVsIDIwMDQgMDk6MDQ6MjEgLTAw MDANCkBAIC0xMDUsMjcgKzEwNSwxMyBAQA0KIHN0YXRpYyBMc3QgICAgIAkg ICAgdGFyZ0NtZHM7CS8qIGNvbW1hbmQgbGluZXMgZm9yIHRhcmdldHMgKi8N CiBzdGF0aWMgQm9vbGVhbgkgICAgaW5MaW5lOwkvKiB0cnVlIGlmIGN1cnJl bnRseSBpbiBhIGRlcGVuZGVuY3kNCiAJCQkJICogbGluZSBvciBpdHMgY29t bWFuZHMgKi8NCi10eXBlZGVmIHN0cnVjdCB7DQotICAgIGNoYXIgKnN0cjsN Ci0gICAgY2hhciAqcHRyOw0KLX0gUFRSOw0KLQ0KIHN0YXRpYyBpbnQJICAg IGZhdGFscyA9IDA7DQogDQogc3RhdGljIEdOb2RlCSAgICAqbWFpbk5vZGU7 CS8qIFRoZSBtYWluIHRhcmdldCB0byBjcmVhdGUuIFRoaXMgaXMgdGhlDQog CQkJCSAqIGZpcnN0IHRhcmdldCBvbiB0aGUgZmlyc3QgZGVwZW5kZW5jeQ0K IAkJCQkgKiBsaW5lIGluIHRoZSBmaXJzdCBtYWtlZmlsZSAqLw0KLS8qDQot ICogRGVmaW5pdGlvbnMgZm9yIGhhbmRsaW5nICNpbmNsdWRlIHNwZWNpZmlj YXRpb25zDQotICovDQotdHlwZWRlZiBzdHJ1Y3QgSUZpbGUgew0KLSAgICBj aGFyICAgICAgICAgICAqZm5hbWU7CSAgICAvKiBuYW1lIG9mIHByZXZpb3Vz IGZpbGUgKi8NCi0gICAgaW50ICAgICAgICAgICAgIGxpbmVubzsJICAgIC8q IHNhdmVkIGxpbmUgbnVtYmVyICovDQotICAgIEZJTEUgKiAgICAgICAgICBG OwkJICAgIC8qIHRoZSBvcGVuIHN0cmVhbSAqLw0KLSAgICBQVFIgKgkgICAg cDsJICAgIAkgICAgLyogdGhlIGNoYXIgcG9pbnRlciAqLw0KLX0gSUZpbGU7 DQogDQotc3RhdGljIElGaWxlCSAgICBjdXJGaWxlOw0KK0lGaWxlCSAgICAJ Y3VyRmlsZTsJLyogY3VycmVudCBtYWtlZmlsZSAqLw0KIA0KIHN0YXRpYyBM c3QgICAgICBpbmNsdWRlczsgIAkvKiBzdGFjayBvZiBJRmlsZXMgZ2VuZXJh dGVkIGJ5DQogCQkJCSAqICNpbmNsdWRlcyAqLw0K --0-1482972238-1090231618=:60467--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200407191010.i6JAAP4a010294>