All pastes #418915 Raw Edit

Anonymous

public text v1 · immutable
#418915 ·published 2007-03-31 22:26 UTC
rendered paste body
static ssize_t ptb_read_string(struct ptbf *f, char **dest)
{
        uint8_t shortlength;
        uint16_t length;
        char *data;
        ptb_data(f, &shortlength, 1);

        /* If length is 0xff, this is followed by a uint16_t length */
        if(shortlength == 0xff) {
                if(ptb_data(f, &length, 2) < 2) return -1;
        } else {
                length = shortlength;
        }

        if(length) {
                data = malloc_p(char, length+1);
                if(ptb_data(f, data, length) < length) return -1;
                ptb_debug("Read string: %s", data);
                *dest = data;
        } else {
                ptb_debug("Empty string");
                *dest = NULL;
        }

        return length;
}