summaryrefslogtreecommitdiff
path: root/ext/pdf
diff options
context:
space:
mode:
authorUwe Steinmann <steinm@php.net>2000-09-08 06:47:04 +0000
committerUwe Steinmann <steinm@php.net>2000-09-08 06:47:04 +0000
commit81fb5a768296a8396d8682fa12b31a60415b2046 (patch)
tree4c59c693aa3cf8addbb13678af4ac0c273546d6e /ext/pdf
parentb0d0a483cc6cd854734568e8d2317ff9ea16ffa7 (diff)
downloadphp-git-81fb5a768296a8396d8682fa12b31a60415b2046.tar.gz
- last parameter of pdf_get_parameter(), pdf_get_value() optional
- fixes to make it compile with sun cc
Diffstat (limited to 'ext/pdf')
-rw-r--r--ext/pdf/pdf.c98
1 files changed, 63 insertions, 35 deletions
diff --git a/ext/pdf/pdf.c b/ext/pdf/pdf.c
index db2fe7d5c7..42a71396ea 100644
--- a/ext/pdf/pdf.c
+++ b/ext/pdf/pdf.c
@@ -84,11 +84,11 @@ static int le_pdf;
function_entry pdf_functions[] = {
PHP_FE(pdf_set_info, NULL)
- PHP_FE(pdf_set_info_creator, NULL)
- PHP_FE(pdf_set_info_title, NULL)
- PHP_FE(pdf_set_info_subject, NULL)
- PHP_FE(pdf_set_info_author, NULL)
- PHP_FE(pdf_set_info_keywords, NULL)
+ PHP_FE(pdf_set_info_creator, NULL) // deprecated
+ PHP_FE(pdf_set_info_title, NULL) // deprecated
+ PHP_FE(pdf_set_info_subject, NULL) // deprecated
+ PHP_FE(pdf_set_info_author, NULL) // deprecated
+ PHP_FE(pdf_set_info_keywords, NULL) // deprecated
PHP_FE(pdf_open, NULL)
PHP_FE(pdf_close, NULL)
PHP_FE(pdf_begin_page, NULL)
@@ -98,13 +98,13 @@ function_entry pdf_functions[] = {
PHP_FE(pdf_show_boxed, NULL)
PHP_FE(pdf_skew, NULL)
PHP_FE(pdf_set_font, NULL)
- PHP_FE(pdf_set_leading, NULL)
- PHP_FE(pdf_set_text_rendering, NULL)
- PHP_FE(pdf_set_horiz_scaling, NULL)
- PHP_FE(pdf_set_text_rise, NULL)
+ PHP_FE(pdf_set_leading, NULL) // deprecated
+ PHP_FE(pdf_set_text_rendering, NULL) // deprecated
+ PHP_FE(pdf_set_horiz_scaling, NULL) // deprecated
+ PHP_FE(pdf_set_text_rise, NULL) // deprecated
PHP_FE(pdf_set_text_pos, NULL)
- PHP_FE(pdf_set_char_spacing, NULL)
- PHP_FE(pdf_set_word_spacing, NULL)
+ PHP_FE(pdf_set_char_spacing, NULL) // deprecated
+ PHP_FE(pdf_set_word_spacing, NULL) // deprecated
PHP_FE(pdf_get_font, NULL)
PHP_FE(pdf_get_fontname, NULL)
PHP_FE(pdf_get_fontsize, NULL)
@@ -147,15 +147,15 @@ function_entry pdf_functions[] = {
PHP_FE(pdf_setrgbcolor, NULL)
PHP_FE(pdf_add_outline, NULL)
PHP_FALIAS(pdf_add_bookmark, pdf_add_outline, NULL)
- PHP_FE(pdf_set_transition, NULL)
- PHP_FE(pdf_set_duration, NULL)
- PHP_FE(pdf_open_jpeg, NULL)
- PHP_FE(pdf_open_tiff, NULL)
- PHP_FE(pdf_open_png, NULL)
+ PHP_FE(pdf_set_transition, NULL) // deprecated
+ PHP_FE(pdf_set_duration, NULL) // deprecated
+ PHP_FE(pdf_open_jpeg, NULL) // deprecated
+ PHP_FE(pdf_open_tiff, NULL) // deprecated
+ PHP_FE(pdf_open_png, NULL) // deprecated
#if HAVE_LIBGD13
PHP_FE(pdf_open_memory_image, NULL)
#endif
- PHP_FE(pdf_open_gif, NULL)
+ PHP_FE(pdf_open_gif, NULL) // deprecated
PHP_FE(pdf_open_image_file, NULL)
PHP_FE(pdf_close_image, NULL)
PHP_FE(pdf_place_image, NULL)
@@ -224,7 +224,7 @@ static void *pdf_realloc(PDF *p, void *mem, size_t size, const char *caller) {
}
static void pdf_efree(PDF *p, void *mem) {
- return(efree(mem));
+ efree(mem);
}
static size_t pdf_flushwrite(PDF *p, void *data, size_t size){
@@ -1855,30 +1855,37 @@ PHP_FUNCTION(pdf_set_parameter) {
}
/* }}} */
-/* {{{ proto string pdf_get_parameter(int pdfdoc, string key, double modifier)
+/* {{{ proto string pdf_get_parameter(int pdfdoc, string key, mixed modifier)
Gets arbitrary parameters */
PHP_FUNCTION(pdf_get_parameter) {
- pval **arg1, **arg2, **arg3;
+ pval **argv[3];
+ int argc;
int id, type;
PDF *pdf;
char *value;
PDF_TLS_VARS;
- if (ZEND_NUM_ARGS() != 3 || zend_get_parameters_ex(3, &arg1, &arg2, &arg3) == FAILURE) {
+ argc = ZEND_NUM_ARGS();
+ if((argc < 2) || (argc > 3))
+ WRONG_PARAM_COUNT;
+ if (zend_get_parameters_array_ex(argc, argv) == FAILURE)
WRONG_PARAM_COUNT;
- }
- convert_to_long_ex(arg1);
- convert_to_string_ex(arg2);
- convert_to_double_ex(arg3);
- id=(*arg1)->value.lval;
+ convert_to_long_ex(argv[0]);
+ convert_to_string_ex(argv[1]);
+ id=(*argv[0])->value.lval;
pdf = zend_list_find(id,&type);
if(!pdf || type!=PDF_GLOBAL(le_pdf)) {
php_error(E_WARNING,"Unable to find file identifier %d",id);
RETURN_FALSE;
}
- value = PDF_get_parameter(pdf, (*arg2)->value.str.val, (float) ((*arg3)->value.dval));
+ if(argc == 3) {
+ convert_to_double_ex(argv[2]);
+ value = (char *) PDF_get_parameter(pdf, (*argv[1])->value.str.val, (float) ((*argv[2])->value.dval));
+ } else {
+ value = (char *) PDF_get_parameter(pdf, (*argv[1])->value.str.val, 0.0);
+ }
RETURN_STRING(value, 1);
}
@@ -1915,27 +1922,48 @@ PHP_FUNCTION(pdf_set_value) {
/* {{{ proto double pdf_get_value(int pdfdoc, string key, double modifier)
Gets arbitrary value */
PHP_FUNCTION(pdf_get_value) {
- pval **arg1, **arg2, **arg3;
+ pval **argv[3];
+ int argc;
int id, type;
PDF *pdf;
double value;
PDF_TLS_VARS;
- if (ZEND_NUM_ARGS() != 3 || zend_get_parameters_ex(3, &arg1, &arg2, &arg3) == FAILURE) {
+ argc = ZEND_NUM_ARGS();
+ if((argc < 2) || (argc > 3))
+ WRONG_PARAM_COUNT;
+ if (zend_get_parameters_array_ex(argc, argv) == FAILURE)
WRONG_PARAM_COUNT;
- }
- convert_to_long_ex(arg1);
- convert_to_string_ex(arg2);
- convert_to_double_ex(arg3);
- id=(*arg1)->value.lval;
+ convert_to_long_ex(argv[0]);
+ convert_to_string_ex(argv[1]);
+ id=(*argv[0])->value.lval;
pdf = zend_list_find(id,&type);
if(!pdf || type!=PDF_GLOBAL(le_pdf)) {
php_error(E_WARNING,"Unable to find file identifier %d",id);
RETURN_FALSE;
}
- value = PDF_get_value(pdf, (*arg2)->value.str.val, (*arg3)->value.dval);
+ if(0 == (strncmp((*argv[1])->value.str.val, "image", 5))) {
+ int pdf_image;
+ if(argc < 3)
+ WRONG_PARAM_COUNT;
+ convert_to_long_ex(argv[2]);
+ id=(*argv[2])->value.lval;
+ pdf_image = (int) zend_list_find(id,&type);
+ if(pdf_image < 0 || type!=PDF_GLOBAL(le_pdf_image)) {
+ php_error(E_WARNING,"Unable to find image identifier %d",id);
+ RETURN_FALSE;
+ }
+ value = PDF_get_value(pdf, (*argv[1])->value.str.val, pdf_image);
+ } else {
+ if(argc < 3) {
+ value = PDF_get_value(pdf, (*argv[1])->value.str.val, 0.0);
+ } else {
+ convert_to_double_ex(argv[2]);
+ value = PDF_get_value(pdf, (*argv[1])->value.str.val, (*argv[2])->value.dval);
+ }
+ }
RETURN_DOUBLE(value);
}