Hi, I am using the system function on NetWare. I find the following strange error:
1. If I use single quoted strings, then I don't have any problem with any combination of the slash. system('sys:\system\p.nlm'); // WORKS system('sys:\\system\\p.nlm'); // WORKS system('sys:\system\r.nlm'); // WORKS system('sys:\\system\\r.nlm'); // WORKS 2. If I use doble quoted string then it works in these cases: system("sys:\system\p.nlm"); // WORKS system("sys:\\system\\p.nlm"); // WORKS system("sys:\\system\\r.nlm"); // WORKS 3. If I use double quoted string and I use single slash and the nlm name starts with 'n' or 'r' or 't', then the system function call fails to load the nlm thought the nlm is present in the given location. That is the below does not work: system("sys:\system\r.nlm"); // WORKS This erros appears to be strange with only three letters not being allowed. Can anyone throw some light as to what is happening here? Could there be a mistake in the NetWare port? I have debugged to the point that: - In zend_execute.c, the execution comes to the execute function. - Inside that it comes upto case ZEND_DO_FCALL: - There is gets into the ZEND_INTERNAL_FUNCTION where it does a ALLOC_ZVAL and INIT_ZVAL. - Then it calls the correspoing Internal Function which in this case is system. - Inside the system function, if we pring the Z_STRVAL_PP(arg1), we find that it is only contains value like sys:\system for the last case (mentioned above) for which there is error. Thanks, Ananth. -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php