| 5338 | } |
| 5339 | |
| 5340 | static void writeintomem (TCHAR **c) |
| 5341 | { |
| 5342 | uae_u32 addr = 0; |
| 5343 | uae_u32 eaddr = 0xffffffff; |
| 5344 | uae_u32 val = 0; |
| 5345 | TCHAR cc; |
| 5346 | int len = 1; |
| 5347 | bool fillmode = false; |
| 5348 | bool err; |
| 5349 | |
| 5350 | if (**c == 'f') { |
| 5351 | fillmode = true; |
| 5352 | (*c)++; |
| 5353 | } else if (**c == 'c') { |
| 5354 | (*c)++; |
| 5355 | copymem(c); |
| 5356 | return; |
| 5357 | } |
| 5358 | |
| 5359 | ignore_ws(c); |
| 5360 | addr = readhex(c, &err); |
| 5361 | if (err) { |
| 5362 | return; |
| 5363 | } |
| 5364 | ignore_ws (c); |
| 5365 | |
| 5366 | if (fillmode) { |
| 5367 | if (!more_params(c)) |
| 5368 | return; |
| 5369 | eaddr = readhex(c, &err); |
| 5370 | if (err) { |
| 5371 | return; |
| 5372 | } |
| 5373 | ignore_ws(c); |
| 5374 | } |
| 5375 | |
| 5376 | if (!more_params (c)) |
| 5377 | return; |
| 5378 | TCHAR *cb = *c; |
| 5379 | uae_u32 addrc = addr; |
| 5380 | bool retry = false; |
| 5381 | for(;;) { |
| 5382 | cc = peekchar(c); |
| 5383 | retry = false; |
| 5384 | uae_u32 addrb = addr; |
| 5385 | if (cc == '\'' || cc == '\"') { |
| 5386 | TCHAR quoted = cc; |
| 5387 | next_char2(c); |
| 5388 | while (more_params2(c)) { |
| 5389 | TCHAR str[2]; |
| 5390 | char *astr; |
| 5391 | cc = next_char2(c); |
| 5392 | if (quoted == cc) { |
| 5393 | ignore_ws(c); |
| 5394 | retry = true; |
| 5395 | break; |
| 5396 | } |
| 5397 | if (addr >= eaddr) { |
no test coverage detected