diff options
author | SVN Migration <svn@php.net> | 2002-05-28 01:22:43 +0000 |
---|---|---|
committer | SVN Migration <svn@php.net> | 2002-05-28 01:22:43 +0000 |
commit | fe9cd86c5dd9af436ff2431b8c4b1800bed6894c (patch) | |
tree | 1d2376b2c6d208ff3177bd3c599ab86fe77c10ae /ext/skeleton | |
parent | 43beb1deda6c4d40fab8719478efd0750b0a06da (diff) | |
download | php-git-RELEASE_0_11.tar.gz |
This commit was manufactured by cvs2svn to create tag 'RELEASE_0_11'.RELEASE_0_11
Diffstat (limited to 'ext/skeleton')
-rw-r--r-- | ext/skeleton/CREDITS | 1 | ||||
-rw-r--r-- | ext/skeleton/EXPERIMENTAL | 0 | ||||
-rwxr-xr-x | ext/skeleton/create_stubs | 282 | ||||
-rw-r--r-- | ext/skeleton/php_skeleton.h | 56 | ||||
-rw-r--r-- | ext/skeleton/skeleton.c | 167 | ||||
-rw-r--r-- | ext/skeleton/skeleton.php | 19 | ||||
-rw-r--r-- | ext/skeleton/tests/001.phpt | 23 |
7 files changed, 0 insertions, 548 deletions
diff --git a/ext/skeleton/CREDITS b/ext/skeleton/CREDITS deleted file mode 100644 index 58fc71019a..0000000000 --- a/ext/skeleton/CREDITS +++ /dev/null @@ -1 +0,0 @@ -extname
\ No newline at end of file diff --git a/ext/skeleton/EXPERIMENTAL b/ext/skeleton/EXPERIMENTAL deleted file mode 100644 index e69de29bb2..0000000000 --- a/ext/skeleton/EXPERIMENTAL +++ /dev/null diff --git a/ext/skeleton/create_stubs b/ext/skeleton/create_stubs deleted file mode 100755 index 43939ed736..0000000000 --- a/ext/skeleton/create_stubs +++ /dev/null @@ -1,282 +0,0 @@ -#!/usr/bin/awk -f - -function gobble(s, x) -{ - sub(/^ /, "", line) - match(line, "^" "(" s ")") - x = substr(line, 1, RLENGTH) - line = substr(line, RLENGTH+1) - return x -} - -function convert(i, j, t) -{ - type = argtypes[i,j] - name = argnames[i,j] - opt = optionals[i,j] - tabs = x = "" - - for (i = 0; i < t; i++) { tabs = tabs "\t" } - - if (type == "int" || type == "long") { - longs = longs "\tlong " name ";\n" - } else if (type == "bool" || type == "boolean") { - bools = bools "\tzend_bool " name ";\n" - } else if (type == "double" || type == "float") { - doubles = doubles "\tdouble " name ";\n" - } else if (type == "string") { - strings = strings "\tchar *" name " = NULL;\n" - ints = ints "\tint " name "_len;\n" - } else if (type == "array" || type == "object" || type == "mixed") { - zvals = zvals "\tzval *" name " = NULL;\n" - } else if (type == "resource" || type == "handle") { - zvals = zvals "\tzval *" name " = NULL;\n" - resources = resources "\tif (" name ") {\n" \ - "\t\tZEND_FETCH_RESOURCE(???, ???, " name ", " name "_id, \"???\", ???_rsrc_id);\n\t}\n" - ints = ints "\tint " name "_id = -1;\n" - } -} - -function comment(s) -{ - if (i_know_what_to_do_shut_up_i_dont_need_your_help_mode) { - return - } else { - return s - } -} - -BEGIN { - name = "[_A-Za-z][_A-Za-z0-9]*" - type = "int|long|double|float|string|bool|boolean|array|object|resource|handle|mixed|void" - spec = "l|l|d|d|s|b|b|a|o|r|r|z|" - num_funcs = 0 - -# create a map from type name to the spec - split(type, type_array, "\|") - split(spec, spec_array, "\|") - for (i in type_array) { - spec_map[type_array[i]] = spec_array[i] - } - - if (xml && xml != "yes") { - xmldoc = xml - } else { - xmldoc = extname "/" extname ".xml" - } - - - xmlhead = "<?xml version='1.0' encoding='iso-8859-1'?>\n" \ - "<!-- $Revision$ -->\n" \ - " <reference id=\"ref." extname "\">\n" \ - " <title> functions</title>\n" \ - " <titleabbrev></titleabbrev>\n\n" \ - " <partintro>\n" \ - " &warn.experimental;\n" \ - " <para>\n" \ - " </para>\n" \ - " </partintro>\n\n"; - - xmlfoot = " </reference>\n\n" \ - "<!-- Keep this comment at the end of the file\n" \ - "Local variables:\n" \ - "mode: sgml\n" \ - "sgml-omittag:t\n" \ - "sgml-shorttag:t\n" \ - "sgml-minimize-attributes:nil\n" \ - "sgml-always-quote-attributes:t\n" \ - "sgml-indent-step:1\n" \ - "sgml-indent-data:t\n" \ - "indent-tabs-mode:nil\n" \ - "sgml-parent-document:nil\n" \ - "sgml-default-dtd-file:\"../../manual.ced\"\n" \ - "sgml-exposed-tags:nil\n" \ - "sgml-local-catalogs:nil\n" \ - "sgml-local-ecat-files:nil\n" \ - "End:\n" \ - "vim600: syn=xml fen fdm=syntax fdl=2 si\n" \ - "vim: et tw=78 syn=sgml\n" \ - "vi: ts=1 sw=1\n" \ - "-->\n" -} - -{ - args_max = args_min = optional = i = spec_opt = 0 - line = $0 - spec_str = "\"" - - func_type = gobble(type); - func_name = gobble(name); - - if (gobble("\\(")) { - if (gobble("\\[")) optional = 1 - while (arg_type = gobble(type)) { - arg_name = gobble(name) - if(arg_type == "void") { - args_max = 0; - args_min = 0; - break; - } else { - argtypes[num_funcs,args_max] = arg_type - argnames[num_funcs,args_max] = arg_name - - args_max++ - if (optional) { - if (!spec_opt) { - spec_str = spec_str "|" - spec_opt = 1 - } - optionals[num_funcs,i] = optional - } else { - args_min++ - } - spec_str = spec_str spec_map[arg_type] - - if (x = gobble("\\[")) { - optional++ - } - - y = gobble(",") - if (!x && y && optional) { - grouped_optional_param[num_funcs,i] = 1 - } - i++ - } - } - } - -# if (x = gobble("\\)")) { - gobble("\\]* *)") - sub(/^[ \t]+/, "", line) - fcomments[num_funcs] = line -# } - - spec_str = spec_str "\"" - - funcs[num_funcs] = func_name - types[num_funcs] = func_type - maxargs[num_funcs] = args_max - minargs[num_funcs] = args_min - specs[num_funcs] = spec_str - spec_opts[num_funcs] = spec_opt - - num_funcs++ -} - -END { - if (xml) print xmlhead > xmldoc - for (i = 0; i < num_funcs; i++) { - compareargc = maxargs[i] - minargs[i] - closefetch = fetchargs = zvals = xmlparams = funcvals = resources = handleargs = closeopts = "" - ints = longs = doubles = strings = bools = zvals = "" - - proto = "/* {{{ proto " types[i] " " funcs[i] "(" - - refid = funcs[i] - gsub(/_/, "-", refid) - xmlstr = " <refentry id=\"function." refid "\">\n" \ - " <refnamediv>\n" \ - " <refname>" funcs[i] "</refname>\n" \ - " <refpurpose>" fcomments[i] "</refpurpose>\n" \ - " </refnamediv>\n" \ - " <refsect1>\n" \ - " <title>Description</title>\n" \ - " <funcsynopsis>\n" \ - " <funcprototype>\n" \ - " <funcdef>" types[i] " <function>" funcs[i] "</function></funcdef>\n" - - if (maxargs[i]>0) { - fetchargs = "\tif (zend_parse_parameters(" - ints = ints "\tint argc = ZEND_NUM_ARGS();\n" - fetchargs = fetchargs "argc TSRMLS_CC, " specs[i] - } else { - fetchargs = fetchargs "\tif (ZEND_NUM_ARGS() != 0) {\n\t\tWRONG_PARAM_COUNT;\n\t}" - xmlparams = xmlparams " <void/>\n" - } - - for (j = 0; j < maxargs[i]; j++) { - - fetchargs = fetchargs ", " - - fetchargs = fetchargs "&" argnames[i,j] - if (argtypes[i,j] == "string") { - fetchargs = fetchargs ", &" argnames[i,j] "_len" - } - - xmlparams = xmlparams " <paramdef>" argtypes[i,j] - if (j > minargs[i]-1) { - if (!grouped_optional_param[i,j-1]) { - if (j > 0) proto = proto " " - proto = proto "[" - closeopts = closeopts "]" - } - xmlparams = xmlparams "\n <parameter><optional>" \ - argnames[i,j] \ - "</optional></parameter>\n </paramdef>\n" - } else { - xmlparams = xmlparams \ - " <parameter>" \ - argnames[i,j] \ - "</parameter></paramdef>\n" - } - - if (j > 0) proto = proto ", " - proto = proto argtypes[i,j] " " argnames[i,j] - - convert(i, j, 1) - } - - proto = proto closeopts ")\n " fcomments[i] " */\nPHP_FUNCTION(" funcs[i] ")\n{" - if (maxargs[i]>0) { - fetchargs = fetchargs ") == FAILURE)" closefetch " \n\t\treturn;\n" - } - funcvals = strings ints longs doubles bools zvals - xmlstr = xmlstr xmlparams \ - " </funcprototype>\n" \ - " </funcsynopsis>\n" \ - " &warn.experimental.func;\n" \ - " <para>\n" \ - " &warn.undocumented.func;\n" \ - " </para>\n" \ - " </refsect1>\n" \ - " </refentry>\n" - - print proto > stubfile - if (funcvals) print funcvals > stubfile - if (fetchargs) print fetchargs > stubfile - if (resources) { - print resources > stubfile - if (!stubs) print "" > extname "/function_warning" - } - if (!i_know_what_to_do_shut_up_i_dont_need_your_help_mode) { - print "\tphp_error(E_WARNING, \"" funcs[i] ": not yet implemented\");" > stubfile - } - print "}\n/* }}} */\n" > stubfile - - if (stubs) { - h_stubs = h_stubs "PHP_FUNCTION(" funcs[i] ");\n" - c_stubs = c_stubs "\tPHP_FE(" funcs[i] ",\tNULL)\n" - } else { - print "PHP_FUNCTION(" funcs[i] ");" > extname "/function_declarations" - print "\tPHP_FE(" funcs[i] ",\tNULL)" > extname "/function_entries" - } - - if (xml) print xmlstr > xmldoc - } - - if (stubs) { - print "\n/* ----------------------------------------------------------- */\n" > stubfile - print c_stubs > stubfile - print "\n/* ----------------------------------------------------------- */\n" > stubfile - print h_stubs > stubfile - } - - if (xml) print xmlfoot > xmldoc -} - -# -# Local variables: -# tab-width: 2 -# c-basic-offset: 2 -# End: - diff --git a/ext/skeleton/php_skeleton.h b/ext/skeleton/php_skeleton.h deleted file mode 100644 index 77cb8f3bd5..0000000000 --- a/ext/skeleton/php_skeleton.h +++ /dev/null @@ -1,56 +0,0 @@ -/* __header_here__ */ - -#ifndef PHP_EXTNAME_H -#define PHP_EXTNAME_H - -extern zend_module_entry extname_module_entry; -#define phpext_extname_ptr &extname_module_entry - -#ifdef PHP_WIN32 -#define PHP_EXTNAME_API __declspec(dllexport) -#else -#define PHP_EXTNAME_API -#endif - -#ifdef ZTS -#include "TSRM.h" -#endif - -PHP_MINIT_FUNCTION(extname); -PHP_MSHUTDOWN_FUNCTION(extname); -PHP_RINIT_FUNCTION(extname); -PHP_RSHUTDOWN_FUNCTION(extname); -PHP_MINFO_FUNCTION(extname); - -PHP_FUNCTION(confirm_extname_compiled); /* For testing, remove later. */ -/* __function_declarations_here__ */ - -/* - Declare any global variables you may need between the BEGIN - and END macros here: - -ZEND_BEGIN_MODULE_GLOBALS(extname) - int global_value; - char *global_string; -ZEND_END_MODULE_GLOBALS(extname) -*/ - -/* In every utility function you add that needs to use variables - in php_extname_globals, call TSRM_FETCH(); after declaring other - variables used by that function, or better yet, pass in TSRMLS_CC - after the last function argument and declare your utility function - with TSRMLS_DC after the last declared argument. Always refer to - the globals in your function as EXTNAME_G(variable). You are - encouraged to rename these macros something shorter, see - examples in any other php module directory. -*/ - -#ifdef ZTS -#define EXTNAME_G(v) TSRMG(extname_globals_id, zend_extname_globals *, v) -#else -#define EXTNAME_G(v) (extname_globals.v) -#endif - -#endif /* PHP_EXTNAME_H */ - -/* __footer_here__ */ diff --git a/ext/skeleton/skeleton.c b/ext/skeleton/skeleton.c deleted file mode 100644 index 40e7ef76e2..0000000000 --- a/ext/skeleton/skeleton.c +++ /dev/null @@ -1,167 +0,0 @@ -/* __header_here__ */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "php.h" -#include "php_ini.h" -#include "ext/standard/info.h" -#include "php_extname.h" - -/* If you declare any globals in php_extname.h uncomment this: -ZEND_DECLARE_MODULE_GLOBALS(extname) -*/ - -/* True global resources - no need for thread safety here */ -static int le_extname; - -/* {{{ extname_functions[] - * - * Every user visible function must have an entry in extname_functions[]. - */ -function_entry extname_functions[] = { - PHP_FE(confirm_extname_compiled, NULL) /* For testing, remove later. */ - /* __function_entries_here__ */ - {NULL, NULL, NULL} /* Must be the last line in extname_functions[] */ -}; -/* }}} */ - -/* {{{ extname_module_entry - */ -zend_module_entry extname_module_entry = { -#if ZEND_MODULE_API_NO >= 20010901 - STANDARD_MODULE_HEADER, -#endif - "extname", - extname_functions, - PHP_MINIT(extname), - PHP_MSHUTDOWN(extname), - PHP_RINIT(extname), /* Replace with NULL if there's nothing to do at request start */ - PHP_RSHUTDOWN(extname), /* Replace with NULL if there's nothing to do at request end */ - PHP_MINFO(extname), -#if ZEND_MODULE_API_NO >= 20010901 - "0.1", /* Replace with version number for your extension */ -#endif - STANDARD_MODULE_PROPERTIES -}; -/* }}} */ - -#ifdef COMPILE_DL_EXTNAME -ZEND_GET_MODULE(extname) -#endif - -/* {{{ PHP_INI - */ -/* Remove comments and fill if you need to have entries in php.ini -PHP_INI_BEGIN() - STD_PHP_INI_ENTRY("extname.global_value", "42", PHP_INI_ALL, OnUpdateInt, global_value, zend_extname_globals, extname_globals) - STD_PHP_INI_ENTRY("extname.global_string", "foobar", PHP_INI_ALL, OnUpdateString, global_string, zend_extname_globals, extname_globals) -PHP_INI_END() -*/ -/* }}} */ - -/* {{{ php_extname_init_globals - */ -/* Uncomment this function if you have INI entries -static void php_extname_init_globals(zend_extname_globals *extname_globals) -{ - extname_globals->global_value = 0; - extname_globals->global_string = NULL; -} -*/ -/* }}} */ - -/* {{{ PHP_MINIT_FUNCTION - */ -PHP_MINIT_FUNCTION(extname) -{ - /* If you have INI entries, uncomment these lines - ZEND_INIT_MODULE_GLOBALS(extname, php_extname_init_globals, NULL); - REGISTER_INI_ENTRIES(); - */ - return SUCCESS; -} -/* }}} */ - -/* {{{ PHP_MSHUTDOWN_FUNCTION - */ -PHP_MSHUTDOWN_FUNCTION(extname) -{ - /* uncomment this line if you have INI entries - UNREGISTER_INI_ENTRIES(); - */ - return SUCCESS; -} -/* }}} */ - -/* Remove if there's nothing to do at request start */ -/* {{{ PHP_RINIT_FUNCTION - */ -PHP_RINIT_FUNCTION(extname) -{ - return SUCCESS; -} -/* }}} */ - -/* Remove if there's nothing to do at request end */ -/* {{{ PHP_RSHUTDOWN_FUNCTION - */ -PHP_RSHUTDOWN_FUNCTION(extname) -{ - return SUCCESS; -} -/* }}} */ - -/* {{{ PHP_MINFO_FUNCTION - */ -PHP_MINFO_FUNCTION(extname) -{ - php_info_print_table_start(); - php_info_print_table_header(2, "extname support", "enabled"); - php_info_print_table_end(); - - /* Remove comments if you have entries in php.ini - DISPLAY_INI_ENTRIES(); - */ -} -/* }}} */ - - -/* Remove the following function when you have succesfully modified config.m4 - so that your module can be compiled into PHP, it exists only for testing - purposes. */ - -/* Every user-visible function in PHP should document itself in the source */ -/* {{{ proto string confirm_extname_compiled(string arg) - Return a string to confirm that the module is compiled in */ -PHP_FUNCTION(confirm_extname_compiled) -{ - char *arg = NULL; - int arg_len, len; - char string[256]; - - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &arg, &arg_len) == FAILURE) { - return; - } - - len = sprintf(string, "Congratulations! You have successfully modified ext/%.78s/config.m4. Module %.78s is now compiled into PHP.", "extname", arg); - RETURN_STRINGL(string, len, 1); -} -/* }}} */ -/* The previous line is meant for vim and emacs, so it can correctly fold and - unfold functions in source code. See the corresponding marks just before - function definition, where the functions purpose is also documented. Please - follow this convention for the convenience of others editing your code. -*/ - -/* __function_stubs_here__ */ - -/* - * Local variables: - * tab-width: 4 - * c-basic-offset: 4 - * End: - * vim600: noet sw=4 ts=4 fdm=marker - * vim<600: noet sw=4 ts=4 - */ diff --git a/ext/skeleton/skeleton.php b/ext/skeleton/skeleton.php deleted file mode 100644 index 6774d63624..0000000000 --- a/ext/skeleton/skeleton.php +++ /dev/null @@ -1,19 +0,0 @@ -<? -if(!extension_loaded('extname')) { - dl('extname.so'); -} -$module = 'extname'; -$functions = get_extension_funcs($module); -echo "Functions available in the test extension:<br>\n"; -foreach($functions as $func) { - echo $func."<br>\n"; -} -echo "<br>\n"; -$function = 'confirm_' . $module . '_compiled'; -if (extension_loaded($module)) { - $str = $function($module); -} else { - $str = "Module $module is not compiled into PHP"; -} -echo "$str\n"; -?> diff --git a/ext/skeleton/tests/001.phpt b/ext/skeleton/tests/001.phpt deleted file mode 100644 index cf40e4e1a5..0000000000 --- a/ext/skeleton/tests/001.phpt +++ /dev/null @@ -1,23 +0,0 @@ ---TEST-- -Check for extname presence ---SKIPIF-- -<?php if (!extension_loaded("extname")) print "skip"; ?> ---POST-- ---GET-- ---FILE-- -<?php -echo "extname extension is available"; -/* - you can add regression tests for your extension here - - the output of your test code has to be equal to the - text in the --EXPECT-- section below for the tests - to pass, differences between the output and the - expected text are interpreted as failure - - see php4/tests/README for further information on - writing regression tests -*/ -?> ---EXPECT-- -extname extension is available
\ No newline at end of file |