Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:806 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 95730 invoked from network); 8 Apr 2003 19:33:39 -0000 Received: from unknown (HELO firewall.bmh.local) (4.61.245.27) by pb1.pair.com with SMTP; 8 Apr 2003 19:33:39 -0000 Received: from firewall.bmh.local (localhost [IPv6:::1]) by firewall.bmh.local (8.12.6/8.12.6) with ESMTP id h38Jj4qQ021356 for ; Tue, 8 Apr 2003 12:45:04 -0700 (PDT) Received: from localhost (chrisv@localhost) by firewall.bmh.local (8.12.6/8.12.6/Submit) with ESMTP id h38JivKI006320 for ; Tue, 8 Apr 2003 12:44:58 -0700 (PDT) X-Authentication-Warning: firewall.bmh.local: chrisv owned process doing -bs Date: Tue, 8 Apr 2003 12:44:56 -0700 (PDT) X-X-Sender: chrisv@firewall.bmh.local Reply-To: chrisv@revhosting.com To: internals@lists.php.net Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-747833939-1049829475=:2236" Content-ID: Subject: [PATCH] 'const' in global scope From: chrisv@revhosting.com (Chris Vandomelen) --0-747833939-1049829475=:2236 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Content-ID: In tune with the current 'const' patches by Sterling, and because I found it useful (and more consistent than the original behaviour IMHO), attached is a patch which implements compile-time constants in the global scope: The behaviour is the same as define(), only implemented in the compiler instead of as a function. Chris --0-747833939-1049829475=:2236 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="zend_global_const.txt" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename="zend_global_const.txt" SW5kZXg6IHplbmRfY29tcGlsZS5jDQo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 DQpSQ1MgZmlsZTogL3JlcG9zaXRvcnkvWmVuZEVuZ2luZTIvemVuZF9jb21w aWxlLmMsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjQwNQ0KZGlmZiAtdSAt cjEuNDA1IHplbmRfY29tcGlsZS5jDQotLS0gemVuZF9jb21waWxlLmMJMSBB cHIgMjAwMyAxOTozNzowNCAtMDAwMAkxLjQwNQ0KKysrIHplbmRfY29tcGls ZS5jCTggQXByIDIwMDMgMTk6Mjg6NTMgLTAwMDANCkBAIC0yNSw3ICsyNSw3 IEBADQogI2luY2x1ZGUgInplbmRfbGxpc3QuaCINCiAjaW5jbHVkZSAiemVu ZF9BUEkuaCINCiAjaW5jbHVkZSAiemVuZF9mYXN0X2NhY2hlLmgiDQotDQor I2luY2x1ZGUgInplbmRfY29uc3RhbnRzLmgiIC8qIHplbmRfY29uc3RhbnQg Ki8NCiAjZGVmaW5lIElOX05BTUVTUEFDRSgpIChDRyhhY3RpdmVfbmFtZXNw YWNlKSAhPSAmQ0coZ2xvYmFsX25hbWVzcGFjZSkpDQogDQogWkVORF9BUEkg emVuZF9vcF9hcnJheSAqKCp6ZW5kX2NvbXBpbGVfZmlsZSkoemVuZF9maWxl X2hhbmRsZSAqZmlsZV9oYW5kbGUsIGludCB0eXBlIFRTUk1MU19EQyk7DQpA QCAtMzQ2Niw2ICszNDY2LDI3IEBADQogDQogCXplbmRfaGFzaF91cGRhdGUo Q0coYWN0aXZlX25hbWVzcGFjZSktPnN0YXRpY19tZW1iZXJzLCB2YXJfbmFt ZS0+dS5jb25zdGFudC52YWx1ZS5zdHIudmFsLCB2YXJfbmFtZS0+dS5jb25z dGFudC52YWx1ZS5zdHIubGVuKzEsICZ2YXIsIHNpemVvZih6dmFsICopLCBO VUxMKTsNCiANCisJRlJFRV9QTk9ERSh2YXJfbmFtZSk7DQorfQ0KKw0KK3Zv aWQgemVuZF9kb19kZWNsYXJlX2dsb2JhbF9jb25zdGFudCh6bm9kZSAqdmFy X25hbWUsIHpub2RlICp2YWx1ZSBUU1JNTFNfREMpDQorew0KKwl6ZW5kX2Nv bnN0YW50IGM7DQorDQorCUlOSVRfWlZBTChjLnZhbHVlKTsNCisJaWYgKHZh bHVlKSB7DQorCQltZW1jcHkoJmMudmFsdWUsICZ2YWx1ZS0+dS5jb25zdGFu dCwgc2l6ZW9mKHp2YWwpKTsNCisJfSBlbHNlIHsNCisJCUlOSVRfWlZBTChj LnZhbHVlKTsNCisJCWMudmFsdWUudHlwZSA9IElTX05VTEw7DQorCX0NCisN CisJYy5mbGFncyA9IENPTlNUX0NTOw0KKwljLm5hbWUgPSB6ZW5kX3N0cm5k dXAodmFyX25hbWUtPnUuY29uc3RhbnQudmFsdWUuc3RyLnZhbCwgdmFyX25h bWUtPnUuY29uc3RhbnQudmFsdWUuc3RyLmxlbiArIDEpOw0KKwljLm5hbWVf bGVuID0gdmFyX25hbWUtPnUuY29uc3RhbnQudmFsdWUuc3RyLmxlbjsNCisJ Yy5tb2R1bGVfbnVtYmVyID0gMDsNCisNCisJemVuZF9oYXNoX3VwZGF0ZSgm KENHKGdsb2JhbF9uYW1lc3BhY2UpLmNvbnN0YW50c190YWJsZSksIGMubmFt ZSwgYy5uYW1lX2xlbiArIDEsICZjLCBzaXplb2YoemVuZF9jb25zdGFudCks IE5VTEwpOw0KIAlGUkVFX1BOT0RFKHZhcl9uYW1lKTsNCiB9DQogDQpJbmRl eDogemVuZF9jb21waWxlLmgNCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJD UyBmaWxlOiAvcmVwb3NpdG9yeS9aZW5kRW5naW5lMi96ZW5kX2NvbXBpbGUu aCx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjMwDQpkaWZmIC11IC1yMS4y MzAgemVuZF9jb21waWxlLmgNCi0tLSB6ZW5kX2NvbXBpbGUuaAkxIEFwciAy MDAzIDE5OjM3OjA0IC0wMDAwCTEuMjMwDQorKysgemVuZF9jb21waWxlLmgJ OCBBcHIgMjAwMyAxOToyODo1NSAtMDAwMA0KQEAgLTM2Niw2ICszNjYsOCBA QA0KIHZvaWQgemVuZF9kb19kZWNsYXJlX3Byb3BlcnR5KHpub2RlICp2YXJf bmFtZSwgem5vZGUgKnZhbHVlLCB6ZW5kX3VpbnQgYWNjZXNzX3R5cGUgVFNS TUxTX0RDKTsNCiB2b2lkIHplbmRfZG9fZGVjbGFyZV9jbGFzc19jb25zdGFu dCh6bm9kZSAqdmFyX25hbWUsIHpub2RlICp2YWx1ZSBUU1JNTFNfREMpOw0K IA0KK3ZvaWQgemVuZF9kb19kZWNsYXJlX2dsb2JhbF9jb25zdGFudCh6bm9k ZSAqdmFyX25hbWUsIHpub2RlICp2YWx1ZSBUU1JNTFNfREMpOw0KKw0KIHZv aWQgemVuZF9kb19mZXRjaF9wcm9wZXJ0eSh6bm9kZSAqcmVzdWx0LCB6bm9k ZSAqb2JqZWN0LCB6bm9kZSAqcHJvcGVydHkgVFNSTUxTX0RDKTsNCiANCiAN CkluZGV4OiB6ZW5kX2xhbmd1YWdlX3BhcnNlci55DQo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09DQpSQ1MgZmlsZTogL3JlcG9zaXRvcnkvWmVuZEVuZ2luZTIv emVuZF9sYW5ndWFnZV9wYXJzZXIueSx2DQpyZXRyaWV2aW5nIHJldmlzaW9u IDEuMTA4DQpkaWZmIC11IC1yMS4xMDggemVuZF9sYW5ndWFnZV9wYXJzZXIu eQ0KLS0tIHplbmRfbGFuZ3VhZ2VfcGFyc2VyLnkJMSBBcHIgMjAwMyAwOToy Mjo0MSAtMDAwMAkxLjEwOA0KKysrIHplbmRfbGFuZ3VhZ2VfcGFyc2VyLnkJ OCBBcHIgMjAwMyAxOToyODo1NyAtMDAwMA0KQEAgLTE4Myw2ICsxODMsMTEg QEANCiAgICAgfCAgIGRvY19jb21tZW50IHsgemVuZF9kb19mcmVlKCYkMSBU U1JNTFNfQ0MpOyB9IHVudGlja2VkX3N0YXRlbWVudCB7IHplbmRfZG9fdGlj a3MoVFNSTUxTX0MpOyB9DQogOw0KIA0KK2dsb2JhbF9jb25zdF9kZWNsYXJh dGlvbjoNCisJCVRfU1RSSU5HICc9JyBzdGF0aWNfc2NhbGFyIHsgemVuZF9k b19kZWNsYXJlX2dsb2JhbF9jb25zdGFudCgmJDEsICYkMyBUU1JNTFNfQ0Mp OyB9DQorCXwJZ2xvYmFsX2NvbnN0X2RlY2xhcmF0aW9uICcsJyBUX1NUUklO RyAnPScgc3RhdGljX3NjYWxhciB7IHplbmRfZG9fZGVjbGFyZV9nbG9iYWxf Y29uc3RhbnQoJiQzLCAmJDUgVFNSTUxTX0NDKTsgfQ0KKzsNCisNCiB1bnRp Y2tlZF9zdGF0ZW1lbnQ6DQogCQkneycgaW5uZXJfc3RhdGVtZW50X2xpc3Qg J30nDQogCXwJVF9JRiAnKCcgZXhwciAnKScgeyB6ZW5kX2RvX2lmX2NvbmQo JiQzLCAmJDQgVFNSTUxTX0NDKTsgfSBzdGF0ZW1lbnQgeyB6ZW5kX2RvX2lm X2FmdGVyX3N0YXRlbWVudCgmJDQsIDEgVFNSTUxTX0NDKTsgfSBlbHNlaWZf bGlzdCBlbHNlX3NpbmdsZSB7IHplbmRfZG9faWZfZW5kKFRTUk1MU19DKTsg fQ0KQEAgLTIyMiw2ICsyMjcsNyBAQA0KIAkJYWRkaXRpb25hbF9jYXRjaGVz DQogCXwJVF9USFJPVyBleHByICc7JyB7IHplbmRfZG9fdGhyb3coJiQyIFRT Uk1MU19DQyk7IH0NCiAJfAlUX0lNUE9SVCB7IHplbmRfZG9fYmVnaW5faW1w b3J0KFRTUk1MU19DKTsgfSBpbXBvcnRfcnVsZSBUX0ZST00gaW1wb3J0X25h bWVzcGFjZSB7IHplbmRfZG9fZW5kX2ltcG9ydCgmJDUgVFNSTUxTX0NDKTsg fSAnOycNCisJfAlUX0NPTlNUIGdsb2JhbF9jb25zdF9kZWNsYXJhdGlvbiAn OycNCiA7DQogDQogDQo= --0-747833939-1049829475=:2236--