Exemple #1
0
static int isi_tableresize(struct isiDevTable *t, size_t size)
{
	if(size <= t->limit) return 0;
	void *n;
	n = isi_realloc(t->table, (size) * sizeof(void*));
	if(!n) return -5;
	t->limit = size;
	t->table = (struct isiInfo**)n;
	return 0;
}
Exemple #2
0
static int isi_indexresize(struct isiInfo *item, size_t size)
{
	if(size <= item->busdev.limit) return 0;
	void *n;
	n = isi_realloc(item->busdev.table, size * sizeof(struct isiConPoint));
	if(!n) return -5;
	item->busdev.limit = size;
	item->busdev.table = (struct isiConPoint*)n;
	return 0;
}
Exemple #3
0
int isi_contable_add(struct isiConstruct *obj)
{
	if(!obj) return -1;
	void *n;
	if(allcon.count >= allcon.limit) {
		n = isi_realloc(allcon.table, (allcon.limit + allcon.limit) * sizeof(void*));
		if(!n) return -5;
		allcon.limit += allcon.limit;
		allcon.table = (struct isiConstruct**)n;
	}
	allcon.table[allcon.count++] = obj;
	return 0;
}
Exemple #4
0
int isi_objtable_add(struct objtype *obj)
{
	if(!obj) return -1;
	void *n;
	if(allobj.count >= allobj.limit) {
		n = isi_realloc(allobj.table, (allobj.limit + allobj.limit) * sizeof(void*));
		if(!n) return -5;
		allobj.limit += allobj.limit;
		allobj.table = (struct objtype**)n;
	}
	allobj.table[allobj.count++] = obj;
	return 0;
}
Exemple #5
0
int isi_synctable_add(struct isiNetSync *sync)
{
	if(!sync) return -1;
	void *n;
	if(allsync.count >= allsync.limit) {
		n = isi_realloc(allsync.table, (allsync.limit + allsync.limit) * sizeof(void*));
		if(!n) return -5;
		allsync.limit += allsync.limit;
		allsync.table = (struct isiNetSync**)n;
	}
	allsync.table[allsync.count++] = sync;
	// TODO could probably sort this better, based on rate/id/hash.
	return 0;
}