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