From: Dale Weiler Date: Wed, 25 Apr 2012 20:49:04 +0000 (-0400) Subject: code_strings_add replaced with proper multiplie element insertion vector support... X-Git-Tag: 0.1-rc1~594^2~1 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=1fd2666fba4d44c1f8d14e2fcb50dd4fcad0a808;p=xonotic%2Fgmqcc.git code_strings_add replaced with proper multiplie element insertion vector support just added --- diff --git a/asm.c b/asm.c index 0d09ddb..2fd1004 100644 --- a/asm.c +++ b/asm.c @@ -140,7 +140,7 @@ void asm_parse(FILE *fp) { .nargs = 0, .argsize = {0} }); - code_strings_add(skip); + code_chars_put(skip, strlen(skip)); }; #if 0 diff --git a/code.c b/code.c index 3925088..80d6c3b 100644 --- a/code.c +++ b/code.c @@ -83,15 +83,6 @@ VECTOR_MAKE(prog_section_function, code_functions ); VECTOR_MAKE(int, code_globals ); VECTOR_MAKE(char, code_chars ); -int code_strings_add(const char *src) { - size_t size = strlen(src); - size_t iter = 0; - while (iter < size) - code_chars_add(src[iter++]); - code_chars_add('\0'); - return code_chars_elements; -} - void code_init() { /* omit creation of null code */ if (opts_omit_nullcode) @@ -113,13 +104,13 @@ void code_init() { } void code_test() { - code_strings_add("m_init"); - code_strings_add("print"); - code_strings_add("hello world\n"); - code_strings_add("m_keydown"); - code_strings_add("m_draw"); - code_strings_add("m_toggle"); - code_strings_add("m_shutdown"); + code_chars_put("m_init", 0x6); + code_chars_put("print", 0x5); + code_chars_put("hello world\n", 0xC); + code_chars_put("m_keydown", 0x9); + code_chars_put("m_draw", 0x6); + code_chars_put("m_toggle", 0x8); + code_chars_put("m_shutdown", 0xA); code_globals_add(1); /* m_init */ code_globals_add(2); /* print */ diff --git a/gmqcc.h b/gmqcc.h index 429d71a..24d34cd 100644 --- a/gmqcc.h +++ b/gmqcc.h @@ -400,7 +400,12 @@ int code_fields_add (prog_section_field); int code_functions_add (prog_section_function); int code_globals_add (int); int code_chars_add (char); -int code_strings_add (const char *); /* function wrapping code_chars_add */ +int code_statements_put(prog_section_statement*, size_t); +int code_defs_put (prog_section_def*, size_t); +int code_fields_put (prog_section_field*, size_t); +int code_functions_put (prog_section_function*, size_t); +int code_globals_put (int*, size_t); +int code_chars_put (char*, size_t); extern long code_statements_elements; extern long code_chars_elements; extern long code_globals_elements;