cvs: php4 /sapi/cli php_cli.c

From: Date: Fri, 08 Mar 2002 09:47:55 +0000
Subject: cvs: php4 /sapi/cli php_cli.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-9824@lists.php.net to get a copy of this message
edink Fri Mar 8 04:47:55 2002 EDT Modified files: /php4/sapi/cli php_cli.c Log: @- Added -r option to the CLI version of PHP which executes a piece of PHP @ code directly from the commmand line. (Edin) Index: php4/sapi/cli/php_cli.c diff -u php4/sapi/cli/php_cli.c:1.7 php4/sapi/cli/php_cli.c:1.8 --- php4/sapi/cli/php_cli.c:1.7 Fri Feb 15 04:06:45 2002 +++ php4/sapi/cli/php_cli.c Fri Mar 8 04:47:52 2002 @@ -81,11 +81,12 @@ #define PHP_MODE_INDENT 3 #define PHP_MODE_LINT 4 #define PHP_MODE_STRIP 5 +#define PHP_MODE_CLI_DIRECT 6 extern char *ap_php_optarg; extern int ap_php_optind; -#define OPTSTRING "aCc:d:ef:g:hilmnqsw?vz:" +#define OPTSTRING "aCc:d:ef:g:hilmnqr:sw?vz:" static int _print_module_info(zend_module_entry *module, void *arg TSRMLS_DC) { @@ -252,6 +253,7 @@ " -l Syntax check only (lint)\n" " -m Show compiled in modules\n" " -i PHP information\n" + " -r <code> Run PHP <code>\n" " -h This help\n", prog); } /* }}} */ @@ -302,6 +304,8 @@ char *script_file=NULL; zend_llist global_vars; int interactive=0; + char *exec_direct=NULL; + char *compiled_string_description; /* end of temporary locals */ #ifdef ZTS zend_compiler_globals *compiler_globals; @@ -475,6 +479,11 @@ case 's': /* generate highlighted HTML from source */ behavior=PHP_MODE_HIGHLIGHT; break; + + case 'r': /* generate highlighted HTML from source */ + behavior=PHP_MODE_CLI_DIRECT; + exec_direct=ap_php_optarg; + break; case 'v': /* show php version & quit */ no_headers = 1; @@ -595,6 +604,12 @@ return SUCCESS; break; #endif + case PHP_MODE_CLI_DIRECT: + compiled_string_description = zend_make_compiled_string_description("Command line code" TSRMLS_CC); + if (zend_eval_string(exec_direct, NULL, compiled_string_description TSRMLS_CC) == FAILURE) { + exit_status=254; + } + efree(compiled_string_description); } php_request_shutdown((void *) 0);

« previous php.cvs (#9824) next »