All pastes #1429833 Raw Edit

Popz

public cpp v1 · immutable
#1429833 ·published 2009-05-21 12:10 UTC
rendered paste body
  } else if (*lptr=='\"' || *lptr=='#' || *lptr==sc_ctrlchar && (*(lptr+1)=='\"' || *(lptr+1)=='#'))  {                                     /* unpacked string literal */    _lextok=tSTRING;    stringflags= (*lptr==sc_ctrlchar) ? RAWMODE : 0;    stringflags |= (*lptr=='#' || *(lptr+1)=='#') ? STRINGIZE : 0;    *lexvalue=_lexval=litidx;    lptr+=1;            /* skip double quote */    if ((stringflags & RAWMODE)!=0)      lptr+=1;          /* skip "escape" character too */    lptr=sc_packstr ? packedstring(lptr,&stringflags) : unpackedstring(lptr,&stringflags);    if (*lptr=='\"')      lptr+=1;          /* skip final quote */    else if (!(stringflags & STRINGIZE))      error(37);        /* invalid (non-terminated) string */  } else if (*lptr=='!' && (*(lptr+1)=='\"' || *(lptr+1)=='#')             || *lptr=='!' && *(lptr+1)==sc_ctrlchar && (*(lptr+2)=='\"'  || *(lptr+2)=='#')             || *lptr==sc_ctrlchar && *(lptr+1)=='!' && (*(lptr+2)=='\"'  || *(lptr+2)=='#'))  {                                     /* packed string literal */    _lextok=tSTRING;    stringflags= (*lptr==sc_ctrlchar || *(lptr+1)==sc_ctrlchar) ? RAWMODE : 0;    stringflags |= (*(lptr+1)=='#' || *(lptr+2)=='#') ? STRINGIZE : 0;    *lexvalue=_lexval=litidx;    lptr+=2;            /* skip exclamation point and double quote */    if ((stringflags & RAWMODE)!=0)      lptr+=1;          /* skip "escape" character too */    lptr=sc_packstr ? unpackedstring(lptr,&stringflags) : packedstring(lptr,&stringflags);    if (*lptr=='\"')      lptr+=1;          /* skip final quote */    else if (!(stringflags & STRINGIZE))      error(37);        /* invalid (non-terminated) string */  } else if (*lptr=='\'') {             /* character literal */