diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2011-06-08 17:09:03 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2011-06-08 17:09:03 (GMT) |
| commit | 09a3670d642bbaae008790936f10e0edb704c8f0 (patch) | |
| tree | 57616a9029a2d2c34379b4bb17b7b1249d2b459b /src | |
| parent | 3ea25c83b7dc039b23af2eeb4279a046fa0bf259 (diff) | |
| download | powder-09a3670d642bbaae008790936f10e0edb704c8f0.zip powder-09a3670d642bbaae008790936f10e0edb704c8f0.tar.gz | |
Clean up signs when reading
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.c | 1 | ||||
| -rw-r--r-- | src/misc.c | 13 |
2 files changed, 14 insertions, 0 deletions
@@ -1036,6 +1036,7 @@ int parse_save(void *save, int size, int replace, int x0, int y0, unsigned char { memcpy(signs[k].text, d+p, x); signs[k].text[x] = 0; + clean_text(signs[k].text, 158-14 /* Current max sign length */); } p += x; } @@ -99,6 +99,19 @@ void strlist_free(struct strlist **list) } } +void clean_text(char *text, int vwidth) +{ + int i = 0; + if(textwidth(text) > vwidth){ + text[textwidthx(text, vwidth)] = 0; + } + for(i = 0; i < strlen(text); i++){ + if(! (text[i]>=' ' && text[i]<127)){ + text[i] = ' '; + } + } +} + void save_presets(int do_update) { FILE *f=fopen("powder.def", "wb"); |
