cvs: php4 /ext/pdf pdf.c

From: Date: Fri, 08 Sep 2000 06:47:03 +0000
Subject: cvs: php4 /ext/pdf pdf.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-1626@lists.php.net to get a copy of this message
steinm Thu Sep 7 23:47:03 2000 EDT Modified files: /php4/ext/pdf pdf.c Log: - last parameter of pdf_get_parameter(), pdf_get_value() optional - fixes to make it compile with sun cc Index: php4/ext/pdf/pdf.c diff -u php4/ext/pdf/pdf.c:1.51 php4/ext/pdf/pdf.c:1.52 --- php4/ext/pdf/pdf.c:1.51 Mon Aug 28 08:19:21 2000 +++ php4/ext/pdf/pdf.c Thu Sep 7 23:47:03 2000 @@ -27,7 +27,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: pdf.c,v 1.51 2000/08/28 15:19:21 steinm Exp $ */ +/* $Id: pdf.c,v 1.52 2000/09/08 06:47:03 steinm Exp $ */ /* pdflib 2.02 is subject to the ALADDIN FREE PUBLIC LICENSE. Copyright (C) 1997 Thomas Merz. */ @@ -84,11 +84,11 @@ 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 @@ 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 @@ 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_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 @@ } /* }}} */ -/* {{{ 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 @@ /* {{{ 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); }

« previous php.cvs (#1626) next »