diff --git a/compiler/libpc300/sc2.c b/compiler/libpc300/sc2.c index 77145464..266597c3 100755 --- a/compiler/libpc300/sc2.c +++ b/compiler/libpc300/sc2.c @@ -2055,7 +2055,7 @@ SC_FUNC int lex(cell *lexvalue,char **lexsym) || (*lptr==sc_ctrlchar && *(lptr+1)=='!' && *(lptr+2)=='\"')) /* packed raw string */ { int stringflags,segmentflags; - unsigned char *cat; + char *cat; if (sLiteralQueueDisabled) { _lextok=tPENDING_STRING; return _lextok; @@ -2083,9 +2083,12 @@ SC_FUNC int lex(cell *lexvalue,char **lexsym) error(238); /* mixing packed/unpacked/raw strings in concatenation */ cat=strchr(_lexstr,'\0'); assert(cat!=NULL); - while ((*lptr!='\"' || *(lptr-1)==sc_ctrlchar) && *lptr!='\0' && (cat-_lexstr)