/* list_tables(table=nil) */ static VALUE list_tables(int argc, VALUE* argv, VALUE obj) { VALUE table; MYSQL* m = GetHandler(obj); MYSQL_RES* res; unsigned int i, n; VALUE ret; rb_scan_args(argc, argv, "01", &table); res = mysql_list_tables(m, NILorSTRING(table)); if (res == NULL) mysql_raise(m); n = mysql_num_rows(res); ret = rb_ary_new2(n); for (i=0; i<n; i++) rb_ary_store(ret, i, rb_tainted_str_new2(mysql_fetch_row(res)[0])); mysql_free_result(res); return ret; }