gril: Add parcel skip string

This commit is contained in:
Denis Kenzior 2015-11-19 16:29:22 -06:00
parent 4717227603
commit 2d694836a6
2 changed files with 22 additions and 0 deletions

View File

@ -200,6 +200,27 @@ char *parcel_r_string(struct parcel *p)
return ret;
}
void parcel_skip_string(struct parcel *p)
{
int len16 = parcel_r_int32(p);
int strbytes;
if (p->malformed)
return;
/* This is how a null string is sent */
if (len16 < 0)
return;
strbytes = PAD_SIZE((len16 + 1) * sizeof(char16_t));
if (p->offset + strbytes > p->size) {
p->malformed = 1;
return;
}
p->offset += strbytes;
}
int parcel_w_raw(struct parcel *p, const void *data, size_t len)
{
if (data == NULL) {

View File

@ -44,6 +44,7 @@ int32_t parcel_r_int32(struct parcel *p);
int parcel_w_int32(struct parcel *p, int32_t val);
int parcel_w_string(struct parcel *p, const char *str);
char *parcel_r_string(struct parcel *p);
void parcel_skip_string(struct parcel *p);
int parcel_w_raw(struct parcel *p, const void *data, size_t len);
void *parcel_r_raw(struct parcel *p, int *len);
size_t parcel_data_avail(struct parcel *p);