Beispiel #1
0
CcObject_t *
CcArrayList_New(CcArrayList_t * self, CcObject_t * object)
{
    int newCapacity;

    if (self->Count >= self->Capacity) {
	newCapacity = self->Capacity + self->Capacity;
	self->Objects = CcRealloc(self->Objects,
				  sizeof(CcObject_t *) * newCapacity);
	self->Capacity = newCapacity;
    }
    object->index = self->Count;
    self->Objects[self->Count++] = object;
    return object;
}
Beispiel #2
0
int
CcSyntaxSymSet_New(CcSyntaxSymSet_t * self, const CcBitArray_t * s)
{
    CcBitArray_t * cur;
    for (cur = self->start; cur < self->used; ++cur)
	if (CcBitArray_Equal(cur, s)) return cur - self->start;
    if (self->used >= self->last) {
	cur = CcRealloc(self->start,
			sizeof(CcBitArray_t) * (self->last - self->start) * 2);
	self->used = cur + (self->used - self->start);
	self->last = cur + (self->last - self->start) * 2;
	self->start = cur;
    }
    cur = self->used++;
    CcBitArray_Clone(cur, s);
    return cur - self->start;
}