add: } else { COMPLAIN(pldata, _("non hexdigit character in PropList data")); ok = 0; break;
context: getPLData(PLData *pldata){    int ok = 1;    int len = 0;    int c1, c2;    unsigned char buf[BUFFERSIZE], byte;    WMPropList *plist;    WMData *data;    data = WMCreateDataWithCapacity(0);    while (1) {        c1 = getNonSpaceChar(pldata);        if (c1 == 0) {            COMPLAIN(pldata, _("unterminated PropList data"));            ok = 0;            break;        } else if (c1=='>') {            break;        } else if (ishexdigit(c1)) {            c2 = getNonSpaceChar(pldata);            if (c2==0 || c2=='>') {                COMPLAIN(pldata, _("unterminated PropList data (missing hexdigit)"));                ok = 0;                break;            } else if (ishexdigit(c2)) {                byte = char2num(c1) << 4;                byte |= char2num(c2);                buf[len++] = byte;                if (len == sizeof(buf)) {                    WMAppendDataBytes(data, buf, len);                    len = 0;                }            } else {                COMPLAIN(pldata, _("non hexdigit character in PropList data"));                ok = 0;                break;            }        }    }    if (!ok) {        WMReleaseData(data);        return NULL;    }    if (len > 0)        WMAppendDataBytes(data, buf, len);    plist = WMCreatePLData(data);    WMReleaseData(data);    return plist;}