bigsay blankline bug

This commit is contained in:
joonicks 2019-01-15 00:32:49 +01:00
parent dd33a1cdfe
commit 4e89a38191
4 changed files with 34 additions and 20 deletions

View File

@ -1,5 +1,6 @@
3.1 -- WORK IN PROGRESS (~May, 2018) 3.1 -- WORK IN PROGRESS (~May, 2018)
* Fixed: Bug with bigsay characters defined with blank lines.
* Changed: Session config is saved to "filename.sessiontemp" and once the save is complete * Changed: Session config is saved to "filename.sessiontemp" and once the save is complete
its moved to "filename.session", just in case something happens that might create a corrupt its moved to "filename.session", just in case something happens that might create a corrupt
session file (eg, SIGSEGV). session file (eg, SIGSEGV).

View File

@ -14,12 +14,12 @@ chars !
\__/ \__/
chars . chars .
-blank-
-blank-
-blank-
-blank-
-blank-
-blank-
,--, ,--,
\__/ \__/
@ -34,11 +34,11 @@ chars |
`--' `--'
chars : chars :
-blank-
,--. ,--.
| | | |
`--' `--'
-blank-
,--. ,--.
| | | |
`--' `--'

View File

@ -7,15 +7,14 @@ chars !
| |
| |
| |
-blank-
o o
chars . chars .
-blank-
-blank-
-blank-
-blank-
o o
chars | chars |
@ -26,11 +25,11 @@ chars |
| |
chars : chars :
-blank-
o o
-blank-
o o
-blank-
chars aA chars aA
,-. ,-.

View File

@ -77,9 +77,14 @@ int read_bigcharset_callback(char *rest)
if (charlines) if (charlines)
{ {
charlines--; charlines--;
if (stringcmp("-blank-",rest) == 0)
rest = "";
else
{
sz = strlen(rest); sz = strlen(rest);
if (sz > newchar->width) if (sz > newchar->width)
newchar->width = sz; newchar->width = sz;
}
append_strp(&newchar->data,rest); append_strp(&newchar->data,rest);
return(FALSE); return(FALSE);
} }
@ -92,6 +97,9 @@ int read_bigcharset_callback(char *rest)
charlines = charheight; charlines = charheight;
opt = chop(&rest); opt = chop(&rest);
#ifdef DEBUG
debug("(read_bigcharset_callback) New character definition: %s\n",opt);
#endif /* DEBUG */
set_mallocdoer(read_bigcharset_callback); set_mallocdoer(read_bigcharset_callback);
newchar = (BigC*)Calloc(sizeof(BigC) + strlen(opt)); newchar = (BigC*)Calloc(sizeof(BigC) + strlen(opt));
@ -783,6 +791,12 @@ reuse_font:
break; break;
} }
} }
#ifdef DEBUG
if (bigc == NULL)
{
debug("(do_bigsay) no matching character found for '%c'\n",*pt);
}
#endif /* DEBUG */
} }
temp = NULL; temp = NULL;
for(tail=output;*tail;tail++) for(tail=output;*tail;tail++)