hholzgra Wed Feb 26 05:06:47 2003 EDT Added files: /php4/scripts/ext_skel_ng php_logo.php php_resource.php Log: forgot to add these two on my last commit :(
Index: php4/scripts/ext_skel_ng/php_logo.php +++ php4/scripts/ext_skel_ng/php_logo.php <?php class php_logo extends php_element { function php_logo($name, $attr) { $this->name = $name; $this->attr = $attr; $this->id = '"'.strtoupper($name).'_LOGO_ID"'; $this->data = file_get_contents($attr['src']); $this->size = strlen($this->data); $this->mime_type = "image/gif"; } function docbook_xml($base) { return ""; } function minit_code() { return " php_register_info_logo({$this->id}, \"{$this->mime_type}\", {$this->name}_logo, {$this->size});\n"; } function c_code() { return " static unsigned char {$this->name}_logo[] = { #include \"{$this->name}_logo.h\" }; "; } function h_code() { $len = strlen($this->data); $code = " "; $i=0; for($n = 0; $n < $len; $n++) { $code .= sprintf(" %3d",ord($this->data[$n])); if($n == $len - 1) break; $code .= ","; if(++$i==8) { $code .= "\n "; $i=0; } } $code .= "\n"; return $code; } } ?> Index: php4/scripts/ext_skel_ng/php_resource.php +++ php4/scripts/ext_skel_ng/php_resource.php <?php class php_resource extends php_element { function php_resource($name, $payload, $destruct, $description) { $this->name = $name; $this->payload = $payload; $this->destruct = $destruct; $this->description = $description; if (empty($this->destruct) && strstr($this->payload, "*")) { $this->destruct = " free(resource);\n"; } if(empty($this->payload)) { $this->payload = "int"; } } function docbook_xml($base) { return " <section id='$base.resources.{$this->name}'> <title><litera>{$this->name}</literal></title> <para> {$this->description} </para> </section> "; } function minit_code() { return " le_{$this->name} = zend_register_list_destructors_ex({$this->name}_dtor, NULL, \"{$this->name}\", module_number); "; } function c_code() { return " int le_{$this->name}; void {$this->name}_dtor(zend_rsrc_list_entry *rsrc TSRMLS_DC) { {$this->payload} resource = ({$this->payload})(rsrc->ptr); {$this->destruct} } "; } function h_code() { $upname = strtoupper($this->name); return " #define {$upname}_FETCH(r, z) ZEND_FETCH_RESOURCE(r, {$this->payload}, z, -1, ${$this->name}, le_{$this->name }); \ if(!r) { RETURN_FALSE; } #define {$upname}_REGISTER(r) ZEND_REGISTER_RESOURCE(return_value, r, le_{$this->name }); "; } } ?> -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php