code_strings_add replaced with proper multiplie element insertion vector support just added

This commit is contained in:
Dale Weiler 2012-04-25 16:49:04 -04:00
parent fe5c322e38
commit 1fd2666fba
3 changed files with 14 additions and 18 deletions

2
asm.c
View file

@ -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

23
code.c
View file

@ -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 */

View file

@ -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;