summaryrefslogtreecommitdiff
path: root/source3/aparser/templates/prs_array_remainder.tpl
blob: c8b1e2ab5af44b2d27def2134193c0f5a4e354fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
	if (UNMARSHALLING(ps))
	{
		int i;
		for (i=0;ps->data_offset < ps->buffer_size;i++) {
		if (!io_alloc("@ELEM@", ps, (void **)&il->@ELEM@, sizeof(*(il->@ELEM@))*(i+1))) goto fail;
		if (!io_@TYPE@("@ELEM@...", ps, depth+1, &il->@ELEM@[i], @FLAGS@)) goto fail;
		}
	}
	else
	{
		int i = -1;
		/* HACK ALERT! */
		do {
		i++;
		if (!io_@TYPE@("@ELEM@...", ps, depth+1, &il->@ELEM@[i], @FLAGS@)) goto fail;
		} while (il->@ELEM@[i].tag2 != 0);
	}