⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mal_stack.c

📁 一个内存数据库的源代码这是服务器端还有客户端
💻 C
字号:
#line 110 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/mal/mal_stack.mx"#include "mal_config.h"#include "mal_stack.h"MalStkPtrnewGlobalStack(int size){	MalStkPtr s;	s = (MalStkPtr) GDKzalloc(stackSize(size) + sizeof(MalStack));	if (s == NULL)		GDKfatal("newGlobalStack:can not obtain memory\n");	s->stksize = size;	return s;}MalStkPtrreallocGlobalStack(MalStkPtr old, int cnt){	int k;	MalStkPtr s;	if (old->stksize > cnt)		return old;	k = ((cnt / STACKINCR) + 1) * STACKINCR;	s = newGlobalStack(k);	memcpy(s, old, stackSize(old->stksize));	s->stksize = k;	GDKfree(old);	return s;}MalStkPtrreallocStack(MalStkPtr s, int cnt){	int k;	MalStkPtr old = s;	if (s->stksize > cnt)		return s;	k = ((cnt / STACKINCR) + 1) * STACKINCR;	s = (MalStkPtr) alloca(stackSize(k));	memset((char *) s, 0, stackSize(k));	memcpy(s, old, stackSize(old->stksize));	s->stksize = k;	/* cannot gdk free, alloca data */	assert(0);	GDKfree(old);	return s;}#line 166 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/mal/mal_stack.mx"voidchkStack(MalStkPtr stk, int i){	if (stk->stksize <= i) {		reallocStack(stk, STACKINCR);	}}voidfreeStack(MalStkPtr stk){	GDKfree(stk);}voidclearStack(MalStkPtr s){	ValPtr v;	int i = s->stktop;	for (v = s->stk; i >= 0; i--, v++)		if (ATOMextern(v->vtype) && v->val.pval) {			stream_printf(GDKout, "freeing %s\n", v->val.sval);			GDKfree(v->val.pval);		}}#line 193 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/mal/mal_stack.mx"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -