Re: Case sensitivity of require_once

From: Date: Mon, 19 Jul 2004 21:08:53 +0000
Subject: Re: Case sensitivity of require_once
References: 1 2 3  Groups: php.internals 
Request: Send a blank email to internals+get-11357@lists.php.net to get a copy of this message
Very strange. We do a GetLongPathName() in virtual_file_ex() which opens the file. Can you see if it's reach that piece of code? Andi At 02:55 PM 7/19/2004 +0200, Michele Locati wrote:
There's another thing you should note: under Windows it is possible to specify file names in two ways: in the expanded (normal) way, and in a short way (8.3 file naming compatible). For example:
        C:\Program Files\SomeFileName.ext
could be specified also as
        C:\PROGRA~1\SOMEFI~1.EXT
or even
        C:\PROGRA~1\SomeFileName.ext
or
        C:\Program Files\SOMEFI~1.EXT
If there exists two files, say "SomeFileNameA.ext" and "SomeFileNameB.ext", they could be called also "SOMEFI~1.EXT" and "SOMEFI~2.EXT" Thank you for the whole great project you're bringing to us! Ciao
        Michele
*********** In risposta al seguente messaggio *********** Il 19/07/2004 alle 11:12 Wez Furlong ha scritto: Did you test require_once under PHP 5 yet? (without your patch) --Wez. On Mon, 19 Jul 2004 10:56:02 +0200, Jakub Vrana <vrana@php.net> wrote:
File a.php is required twice with this code on Windows: <?php require_once "a.php"; require_once "A.php"; ?> Should I document this behavior or should patch similar to this be applied? Index: zend_execute.c =================================================================== RCS file: /repository/Zend/Attic/zend_execute.c,v retrieving revision 1.316.2.38 diff -u -r1.316.2.38 zend_execute.c
--- zend_execute.c      12 Jul 2004 17:47:32 -0000      1.316.2.38
+++ zend_execute.c      19 Jul 2004 08:48:44 -0000
@@ -2148,6 +2148,10 @@
                                        file_handle.opened_path =
estrndup(inc_filename->value.str.val, inc_filename->value.str.len);
                                    }
+#ifdef ZEND_WIN32 +
zend_str_tolower(file_handle.opened_path, strlen(file_handle.opened_path));
+#endif +
                                    if
(zend_hash_add(&EG(included_files), file_handle.opened_path, strlen(file_handle.opened_path)+1, (void *)&dummy, sizeof(int), NULL)==SUCCESS) {
                                        new_op_array =
zend_compile_file(&file_handle, (EX(opline)->op2.u.constant.value.lval==ZEND_INCLUDE_ONCE?ZEND_INCLUDE:ZE ND_REQUIRE) TSRMLS_CC);
zend_destroy_file_handle(&file_handle TSRMLS_CC);
-- Jakub Vrana -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php


« previous php.internals (#11357) next »