Changeset 3113
- Timestamp:
- Oct 26, 2008, 9:51:04 PM (15 years ago)
- Location:
- libcaca/trunk/caca-php
- Files:
-
- 1 added
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcaca/trunk/caca-php/php_caca.c
r3112 r3113 328 328 ZEND_FETCH_RESOURCE(event, caca_event_t*, &_zval, -1, PHP_CACA_EVENT_RES_NAME, le_caca_event); 329 329 330 #define FETCH_LONG(l) \ 331 if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &l) == FAILURE) { \ 332 RETURN_FALSE; \ 333 } 334 330 335 #define RETURN_CHAR(c) \ 331 336 char *str = emalloc(2); \ … … 391 396 caca_canvas_t *canvas; 392 397 FETCH_CANVAS(canvas); 393 RETURN_STRING( estrdup(caca_get_canvas_chars(canvas)), 0); //TODO: check that return \0 terminated string398 RETURN_STRING((char *) caca_get_canvas_chars(canvas), 1); //TODO: check that return \0 terminated string 394 399 } 395 400 … … 397 402 caca_canvas_t *canvas; 398 403 FETCH_CANVAS(canvas); 399 RETURN_STRING( estrdup(caca_get_canvas_attrs(canvas)), 0); //TODO: check that return \0 terminated string404 RETURN_STRING((char *) caca_get_canvas_attrs(canvas), 1); //TODO: check that return \0 terminated string 400 405 } 401 406 … … 409 414 410 415 PHP_FUNCTION(caca_get_version) { 411 RETURN_STRING( estrdup(caca_get_version()), 0);416 RETURN_STRING((char *) caca_get_version(), 1); 412 417 } 413 418 … … 621 626 622 627 PHP_FUNCTION(caca_set_color_argb) { 628 zval *_zval; 629 long foreground, background = 0; 630 if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rll", &_zval, &foreground, &background) == FAILURE) { 631 RETURN_FALSE; 632 } 633 caca_canvas_t *canvas; 634 ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas); 635 RETURN_SUCCESS(caca_set_color_argb(canvas, foreground, background)); 623 636 } 624 637 625 638 PHP_FUNCTION(caca_attr_to_ansi) { 639 long l; 640 FETCH_LONG(l); 641 RETURN_LONG(caca_attr_to_ansi(l)); 626 642 } 627 643 628 644 PHP_FUNCTION(caca_attr_to_ansi_fg) { 645 long l; 646 FETCH_LONG(l); 647 RETURN_LONG(caca_attr_to_ansi_fg(l)); 629 648 } 630 649 631 650 PHP_FUNCTION(caca_attr_to_ansi_bg) { 651 long l; 652 FETCH_LONG(l); 653 RETURN_LONG(caca_attr_to_ansi_bg(l)); 632 654 } 633 655 634 656 PHP_FUNCTION(caca_attr_to_rgb12_fg) { 657 long l; 658 FETCH_LONG(l); 659 RETURN_LONG(caca_attr_to_rgb12_fg(l)); 635 660 } 636 661 637 662 PHP_FUNCTION(caca_attr_to_rgb12_bg) { 663 long l; 664 FETCH_LONG(l); 665 RETURN_LONG(caca_attr_to_rgb12_bg(l)); 638 666 } 639 667 … … 841 869 842 870 PHP_FUNCTION(caca_get_frame_count) { 871 zval *_zval; 872 if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &_zval) == FAILURE) { 873 RETURN_FALSE; 874 } 875 caca_canvas_t *canvas; 876 ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas); 877 RETURN_LONG(caca_get_canvas_count(canvas)); 843 878 } 844 879 845 880 PHP_FUNCTION(caca_set_frame) { 881 zval *_zval; 882 long id; 883 if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rl", &_zval, &id) == FAILURE) { 884 RETURN_FALSE; 885 } 886 caca_canvas_t *canvas; 887 ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas); 888 RETURN_SUCCESS(caca_set_frame(canvas, id)); 846 889 } 847 890 848 891 PHP_FUNCTION(caca_set_frame_name) { 892 zval *_zval; 893 char *str; 894 long str_len; 895 if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &_zval, &str, &str_len) == FAILURE) { 896 RETURN_FALSE; 897 } 898 caca_canvas_t *canvas; 899 ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas); 900 RETURN_SUCCESS(caca_set_frame_name(canvas, str)); 849 901 } 850 902 851 903 PHP_FUNCTION(caca_create_frame) { 904 zval *_zval; 905 long id; 906 if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rl", &_zval, &id) == FAILURE) { 907 RETURN_FALSE; 908 } 909 caca_canvas_t *canvas; 910 ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas); 911 RETURN_SUCCESS(caca_create_frame(canvas, id)); 852 912 } 853 913 854 914 PHP_FUNCTION(caca_free_frame) { 915 zval *_zval; 916 long id; 917 if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rl", &_zval, &id) == FAILURE) { 918 RETURN_FALSE; 919 } 920 caca_canvas_t *canvas; 921 ZEND_FETCH_RESOURCE(canvas, caca_canvas_t*, &_zval, -1, PHP_CACA_CANVAS_RES_NAME, le_caca_canvas); 922 RETURN_SUCCESS(caca_free_frame(canvas, id)); 855 923 } 856 924 … … 1022 1090 1023 1091 PHP_FUNCTION(caca_get_display_driver_list) { 1092 char const * const *list = caca_get_display_driver_list(); 1093 int i; 1094 array_init(return_value); 1095 for(i = 0; list[i]; i += 2) 1096 add_assoc_string(return_value, (char*) list[i], (char*) list[i + 1], 1); 1024 1097 } 1025 1098 1026 1099 PHP_FUNCTION(caca_get_display_driver) { 1100 zval *_zval; 1101 if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &_zval) == FAILURE) { 1102 RETURN_FALSE; 1103 } 1104 caca_display_t *display; 1105 ZEND_FETCH_RESOURCE(display, caca_display_t*, &_zval, -1, PHP_CACA_DISPLAY_RES_NAME, le_caca_display); 1106 RETURN_STRING((char *) caca_get_display_driver(display), 1); 1027 1107 } 1028 1108 1029 1109 PHP_FUNCTION(caca_set_display_driver) { 1110 zval *_zval; 1111 char *str; 1112 long str_len; 1113 if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &_zval, &str, &str_len) == FAILURE) { 1114 RETURN_FALSE; 1115 } 1116 caca_display_t *display; 1117 ZEND_FETCH_RESOURCE(display, caca_display_t*, &_zval, -1, PHP_CACA_DISPLAY_RES_NAME, le_caca_display); 1118 RETURN_SUCESS(caca_set_display_driver(display, str)); 1030 1119 } 1031 1120 1032 1121 PHP_FUNCTION(caca_get_canvas) { 1122 zval *_zval; 1123 if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &_zval) == FAILURE) { 1124 RETURN_FALSE; 1125 } 1126 caca_display_t *display; 1127 ZEND_FETCH_RESOURCE(display, caca_display_t*, &_zval, -1, PHP_CACA_DISPLAY_RES_NAME, le_caca_display); 1128 caca_canvas_t *canvas = caca_get_canvas(display); 1129 ZEND_REGISTER_RESOURCE(return_value, canvas, le_caca_canvas); 1033 1130 } 1034 1131
Note: See TracChangeset
for help on using the changeset viewer.