[Drupal-accel-cvs-commit] drupalaccel/database_inc da_db_query.c, 1.2, 1.3
Status: Planning
Brought to you by:
minosh
|
From: Andy K. <mi...@us...> - 2006-07-14 23:19:40
|
Update of /cvsroot/drupal-accel/drupalaccel/database_inc In directory sc8-pr-cvs12.sourceforge.net:/tmp/cvs-serv29621 Modified Files: da_db_query.c Log Message: %b token incorrectly handled Index: da_db_query.c =================================================================== RCS file: /cvsroot/drupal-accel/drupalaccel/database_inc/da_db_query.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** da_db_query.c 14 Jul 2006 11:00:51 -0000 1.2 --- da_db_query.c 14 Jul 2006 23:19:35 -0000 1.3 *************** *** 85,89 **** break; case 'd': - case 'b': if (zend_hash_get_current_data_ex(ht_args_array_p, (void**)&arg_value_pp, &ht_args_array_pos) != SUCCESS) { php_error_docref(NULL TSRMLS_CC, E_ERROR, "Missing arg for token type '%c'", str_query_p[loop]); --- 85,88 ---- *************** *** 135,138 **** --- 134,167 ---- } break; + case 'b': + if (zend_hash_get_current_data_ex(ht_args_array_p, (void**)&arg_value_pp, &ht_args_array_pos) != SUCCESS) { + php_error_docref(NULL TSRMLS_CC, E_ERROR, "Missing arg for token type 's'"); + RETURN_NULL(); + } + zend_hash_move_forward_ex(ht_args_array_p, &ht_args_array_pos); + { /* temp code block for local vars */ + char func_name[32]; + zval **arguments[1]; + zval *returned_value = NULL; + + switch ( DA_G(da_db_type) ) { + case DRUPAL_ACCEL_USING_MYSQL: + strcpy(func_name, "mysql_real_escape_string"); + break; + case DRUPAL_ACCEL_USING_PGSQL: + strcpy(func_name, "pg_unescape_bytea"); + break; + default: + php_error_docref(NULL TSRMLS_CC, E_ERROR, "Unknown database type"); + RETURN_NULL(); + break; + } + + arguments[0] = arg_value_pp; + _da_func_call(INTERNAL_FUNCTION_PARAM_PASSTHRU, func_name, &returned_value, 1, arguments); + smart_str_appends(&sanitised_query, Z_STRVAL_P(returned_value)); + smart_str_0(&sanitised_query); + } + break; default: php_error_docref(NULL TSRMLS_CC, E_ERROR, "Additional parameter passed of unknown type"); |