You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

14 lines
485 B
C

#include "parse.h"
// This function asserts that the caller wants to read n bytes from the stream.
// If there is less space available, set the stream to error state.
int bs_capacityassert(struct bytestream* bs,size_t capacity) {
if (bs->cur>=bs->max || // if EOF or error, return 0
bs->max - bs->cur < capacity) { // not EOF but less than that many bytes left
bs->cur = 1; // set stream to error state
bs->max = 0;
return 0; // return failure
}
return 1;
}