pollita         Mon Oct  2 21:02:08 2006 UTC

  Modified files:              
    /php-src/ext/standard       proc_open.c 
  Log:
  Flag the easy stuff out of the way, proc_open() is the real beast in here
  
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/proc_open.c?r1=1.43&r2=1.44&diff_format=u
Index: php-src/ext/standard/proc_open.c
diff -u php-src/ext/standard/proc_open.c:1.43 
php-src/ext/standard/proc_open.c:1.44
--- php-src/ext/standard/proc_open.c:1.43       Tue Sep 19 10:38:31 2006
+++ php-src/ext/standard/proc_open.c    Mon Oct  2 21:02:08 2006
@@ -15,7 +15,7 @@
    | Author: Wez Furlong <[EMAIL PROTECTED]>                           |
    +----------------------------------------------------------------------+
  */
-/* $Id: proc_open.c,v 1.43 2006/09/19 10:38:31 dmitry Exp $ */
+/* $Id: proc_open.c,v 1.44 2006/10/02 21:02:08 pollita Exp $ */
 
 #if 0 && (defined(__linux__) || defined(sun) || defined(__IRIX__))
 # define _BSD_SOURCE           /* linux wants this when XOPEN mode is on */
@@ -253,7 +253,7 @@
 }
 /* }}} */
 
-/* {{{ proto int proc_terminate(resource process [, long signal])
+/* {{{ proto int proc_terminate(resource process [, long signal]) U
    kill a process opened by proc_open */
 PHP_FUNCTION(proc_terminate)
 {
@@ -278,7 +278,7 @@
 }
 /* }}} */
 
-/* {{{ proto int proc_close(resource process)
+/* {{{ proto int proc_close(resource process) U
    close a process opened by proc_open */
 PHP_FUNCTION(proc_close)
 {
@@ -296,7 +296,7 @@
 }
 /* }}} */
 
-/* {{{ proto array proc_get_status(resource process)
+/* {{{ proto array proc_get_status(resource process) U
    get information about a process opened by proc_open */
 PHP_FUNCTION(proc_get_status)
 {
@@ -319,7 +319,19 @@
 
        array_init(return_value);
 
-       add_ascii_assoc_string(return_value, "command", proc->command, 1);
+       if (UG(unicode)) {
+               UChar *ucmd;
+               int ucmd_len;
+
+               if (SUCCESS == php_stream_path_decode(&php_plain_files_wrapper, 
&ucmd, &ucmd_len, proc->command, strlen(proc->command), REPORT_ERRORS, 
FG(default_context))) {
+                       add_ascii_assoc_unicodel(return_value, "command", ucmd, 
ucmd_len, 0);
+               } else {
+                       /* Fallback on original binary string */
+                       add_ascii_assoc_string(return_value, "command", 
proc->command, 1);
+               }
+       } else {
+               add_ascii_assoc_string(return_value, "command", proc->command, 
1);
+       }
        add_ascii_assoc_long(return_value, "pid", (long) proc->child);
        
 #ifdef PHP_WIN32

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to