File tree 3 files changed +9
-3
lines changed
3 files changed +9
-3
lines changed Original file line number Diff line number Diff line change @@ -23,9 +23,16 @@ SOFTWARE.
23
23
#include <stddef.h>
24
24
#include <string.h>
25
25
26
+ #include "const.h"
26
27
#include "symtab.h"
27
28
#include "types.h"
28
29
30
+ void symdef (symtab_t * symtab , char * label , size_t lineno ) {
31
+ strncpy (symtab -> symbols [symtab -> sp ].label , label , LBLLN );
32
+ symtab -> symbols [symtab -> sp ].lineno = lineno ;
33
+ symtab -> sp ++ ;
34
+ }
35
+
29
36
size_t symfind (symtab_t * symtab , char * label ) {
30
37
size_t i ;
31
38
Original file line number Diff line number Diff line change @@ -26,6 +26,7 @@ SOFTWARE.
26
26
#include <stddef.h>
27
27
#include "types.h"
28
28
29
+ void symdef (symtab_t * symtab , char * label , size_t lineno );
29
30
size_t symfind (symtab_t * symtab , char * label );
30
31
31
32
#endif
Original file line number Diff line number Diff line change @@ -102,9 +102,7 @@ void load(vm_t *vm) {
102
102
103
103
/* it's a label */
104
104
if (line [0 ] != '#' && line [0 ] != ' ' ) {
105
- strncpy (vm -> symtab .symbols [vm -> symtab .sp ].label , line , LBLLN );
106
- vm -> symtab .symbols [vm -> symtab .sp ].lineno = vm -> program .sp ;
107
- vm -> symtab .sp ++ ;
105
+ symdef (& vm -> symtab , line , vm -> program .sp );
108
106
}
109
107
/* record line for future reference */
110
108
strncpy (vm -> program .lines [vm -> program .sp ], line , LNLEN );
You can’t perform that action at this time.
0 commit comments