comparison debug.c @ 2172:a00773a336d8

Fix bug in debugger lexer
author Michael Pavone <pavone@retrodev.com>
date Sat, 06 Aug 2022 15:10:57 -0700
parents 4b47155965c8
children 894c7873a2b1
comparison
equal deleted inserted replaced
2171:4b47155965c8 2172:a00773a336d8
181 return (token) { 181 return (token) {
182 .type = TOKEN_RPAREN 182 .type = TOKEN_RPAREN
183 }; 183 };
184 } 184 }
185 *end = start + 1; 185 *end = start + 1;
186 while (**end && !isblank(**end) && **end != '.') 186 while (**end && !isblank(**end))
187 { 187 {
188 uint8_t done = 0;
189 switch (**end)
190 {
191 case '+':
192 case '-':
193 case '*':
194 case '/':
195 case '&':
196 case '|':
197 case '^':
198 case '~':
199 case '=':
200 case '!':
201 case '.':
202 done = 1;
203 break;
204 }
205 if (done) {
206 break;
207 }
208
188 ++*end; 209 ++*end;
189 } 210 }
190 char *name = malloc(*end - start + 1); 211 char *name = malloc(*end - start + 1);
191 memcpy(name, start, *end - start); 212 memcpy(name, start, *end - start);
192 name[*end-start] = 0; 213 name[*end-start] = 0;