sm_printf
sm_printf("info: func_call (");
sm_printf(") %s\n", fn_name);
sm_printf("%s: ", sm->name);
sm_printf("%s ", rel->name);
sm_printf("\n");
sm_printf("[ ");
sm_printf("(%d: %s->'%s')", get_stree_id(sm->left->pool), sm->left->name, sm->left->state->name);
sm_printf(" - ");
sm_printf("(%d: %s->'%s')", get_stree_id(sm->right->pool), sm->right->name, sm->right->state->name);
sm_printf(" - ");
sm_printf("merge tree: %s -> %s", name, sm->state->name);
sm_printf("\n");
sm_printf("%s:%d %s() ", get_filename(), get_check_line(sm), get_function());
sm_printf("warn: we tested '%s' already\n", check->name);
sm_printf("%s write_list: [", syscall_name);
sm_printf("%s, ", tracker->name);
sm_printf("]\n");
sm_printf("%s arg_list: [", syscall_name);
sm_printf("%s, ", tracker->name);
sm_printf("]\n");
sm_printf("%s read_list: [", syscall_name);
sm_printf("%s, ", tracker->name);
sm_printf("]\n");
sm_printf(" Locked on : %s\n", show_rl(locked_lines));
sm_printf(" Unlocked on: %s\n", show_rl(unlocked_lines));
sm_printf(" ");
sm_printf("'%s'", sm->name);
sm_printf("%s:%d %s() ", get_filename(), max_lineno, get_function());
sm_printf("warn: function puts %d bytes on stack\n", max_size);
sm_printf("%s:%d %s() ", get_filename(), tmp->line, get_function());
sm_printf("warn: unused return: %s = %s()\n",
sm_printf("%s: %s:%d %s() ", progname, get_filename(), get_lineno(), get_function());
sm_printf("warn: "); \
sm_printf("error: "); \
sm_printf("parse error: "); \
sm_printf(msg); \
sm_printf("\n"); \
#define sm_debug(msg...) do { if (option_debug) sm_printf(msg); } while (0)
#define db_debug(msg...) do { if (option_debug || debug_db) sm_printf(msg); } while (0)
sm_printf("info: "); \
sm_printf(msg); \
sm_printf("\n"); \
sm_printf("SQL%s: insert %sinto " #table " values(", \
sm_printf(values); \
sm_printf(");\n"); \
sm_printf(", ");
sm_printf("%s", argv[i]);
sm_printf("\n");
sm_printf("%s\n", show_sm(sm));
sm_printf("---\n");