您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ stralloc函数代码示例

51自学网 2021-06-03 08:26:54
  C++
这篇教程C++ stralloc函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中stralloc函数的典型用法代码示例。如果您正苦于以下问题:C++ stralloc函数的具体用法?C++ stralloc怎么用?C++ stralloc使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了stralloc函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: rrdgetenv

char* rrdgetenv(long argc, const char **args) {	char buf[128];	const char* envvar;	if (argc != 1) {		return stralloc("[ERROR: getenv failed because it did not "						"get 1 argument only]");	};	envvar = getenv(args[0]);	if (envvar) {		return stralloc(envvar);	} else {                snprintf(buf, sizeof(buf), "[ERROR:_getenv_'%s'_failed", args[0]);                return stralloc(buf);	}}
开发者ID:nickmbailey,项目名称:python26-rrdtool-rpm,代码行数:15,


示例2: rrdsetvarconst

/* rrd interface to the variable function putvar() */char*rrdsetvarconst(long argc, const char **args){	if (argc >= 2)	{		const char* result = putvar(args[0], args[1], 1 /* const */);		if (result) {			/* setvar does not return the value set */			return stralloc("");		}		return stralloc("[ERROR: putvar failed]");	}	return stralloc("[ERROR: putvar failed because not enough arguments "					"were defined]");}
开发者ID:nickmbailey,项目名称:python26-rrdtool-rpm,代码行数:16,


示例3: putvar

/* Put a variable into the variable store. If a variable by that   name exists, it's value is overwritten with the new value unless it was   marked as 'const' (initialized by RRD::SETCONSTVAR).   Returns a copy the newly allocated value on success, NULL on error. */static const char*putvar(const char* name, const char* value, int is_const){	int i;	for (i=0; i < (int)varheap_size && varheap[i].name; i++) {		if (0 == strcmp(name, varheap[i].name)) {			/* overwrite existing entry */			if (varheap[i].is_const) {#ifdef			DEBUG_VARS				printf("<!-- setver(%s, %s): not assigning: "						"const variable -->/n", name, value);#				endif				return varheap[i].value;			}#ifdef		DEBUG_VARS			printf("<!-- setvar(%s, %s): overwriting old value (%s) -->/n",					name, value, varheap[i].value);#endif			/* make it possible to promote a variable to readonly */			varheap[i].is_const = is_const;			free((char*)varheap[i].value);			varheap[i].value = stralloc(value);			return varheap[i].value;		}	}	/* no existing variable found by that name, add it */	if (i == (int)varheap_size) {		/* ran out of heap: resize heap to double size */		size_t new_size = varheap_size * 2;		varheap = (vardata*)(realloc(varheap, sizeof(vardata) * new_size));		if (!varheap) {			fprintf(stderr, "ERROR: Unable to realloc variable heap/n");			return NULL;		}		/* initialize newly allocated memory */;		memset(&varheap[varheap_size], 0, sizeof(vardata) * varheap_size);		varheap_size = new_size;	}	varheap[i].is_const = is_const;	varheap[i].name  = stralloc(name);	varheap[i].value = stralloc(value);#ifdef		DEBUG_VARS	printf("<!-- setvar(%s, %s): adding new variable -->/n", name, value);#endif	return varheap[i].value;}
开发者ID:nickmbailey,项目名称:python26-rrdtool-rpm,代码行数:52,


示例4: prterr

char *xstralloccat(char *base,char *add,int line,char *file){	if(diagmisc && !diagallocx)	{		prterr("DIAG xstralloccat String Allocated at line [%d] program [%s].",line,file);		}	if(base!=NULL)	{		if(diagallocx && diagmisc)		{					base=(char *)xRrealloc(base,RDAstrlen(base)+RDAstrlen(add)+1,line,file);		} else {			base=(char *)Rrealloc(base,RDAstrlen(base)+RDAstrlen(add)+1);		}		if(base!=NULL) strcat(base,add);	} else {		if(diagallocx && diagmisc)		{					base=xstralloc(add,line,file);		} else {			base=stralloc(add);		}	}	return(base);}
开发者ID:DTidd,项目名称:OpenRDAAPI,代码行数:25,


示例5: ZERNRD

Wt::Auth::User RDAUserDatabase::findWithAuthToken (const std::string &hash)  const{	char *ud=NULL,delflag=FALSE;  /*   * David: find a user associated with a token with given hash value, taking   * into account that it should not be expired   */	if(SEC_TOKEN_FILENO==(-1))	{    		return;	}	ZERNRD(SEC_TOKEN_FILENO);	FINDFLDSETSTRING(SEC_TOKEN_FILENO,"TOKEN",hash.c_str());	if(!EQLNRD(SEC_TOKEN_FILENO,1))	{		FINDFLDGETCHAR(SEC_TOKEN_FILENO,"DELETEFLAG",&delflag);		if(!delflag)		{			FINDFLDGETSTRING(SEC_TOKEN_FILENO,"USER IDENTIFICATION",&ud);			USERLOGIN=stralloc(ud);			const std::string u(ud);/*			std::cerr << "User Identification [" << ud << "]" << std::endl;*/  			return Wt::Auth::User(u, *this);		} else {    			return Wt::Auth::User();		}	} else {    		return Wt::Auth::User();	}}
开发者ID:DTidd,项目名称:OpenRDAAPI,代码行数:34,


示例6: ippAddResolutions

ipp_attribute_t *			ippAddResolutions(ipp_t      *ipp,	        	  ipp_tag_t  group,			  const char *name,			  int        num_values,		  ipp_res_t  units,			  const int  *xres,			  const int  *yres)	{  int			i;		  ipp_attribute_t	*attr;		  ipp_value_t		*value;		  if (!ipp || !name || num_values < 1)    return (NULL);  if ((attr = _ippAddAttr(ipp, num_values)) == NULL)    return (NULL);  attr->name      = stralloc(name);  attr->group_tag = group;  attr->value_tag = IPP_TAG_RESOLUTION;  if (xres != NULL && yres != NULL)    for (i = 0, value = attr->values;	 i < num_values;	 i ++, value ++)    {      value->resolution.xres  = xres[i];      value->resolution.yres  = yres[i];      value->resolution.units = units;    }  return (attr);}
开发者ID:daddyreb,项目名称:Bigit_Genie,代码行数:35,


示例7: ippAddRanges

ipp_attribute_t *			ippAddRanges(ipp_t      *ipp,		             ipp_tag_t  group,			     const char *name,			     int        num_values,		     const int  *lower,			     const int  *upper)		{  int			i;		  ipp_attribute_t	*attr;		  ipp_value_t		*value;		  if (!ipp || !name || num_values < 1)    return (NULL);  if ((attr = _ippAddAttr(ipp, num_values)) == NULL)    return (NULL);  attr->name      = stralloc(name);  attr->group_tag = group;  attr->value_tag = IPP_TAG_RANGE;  if (lower != NULL && upper != NULL)    for (i = 0, value = attr->values;	 i < num_values;	 i ++, value ++)    {      value->range.lower = lower[i];      value->range.upper = upper[i];    }  return (attr);}
开发者ID:daddyreb,项目名称:Bigit_Genie,代码行数:33,


示例8: stralloc

char     *rrdgetinternal(    long argc,    const char **args){    if (argc == 1) {        if (strcasecmp(args[0], "VERSION") == 0) {            return stralloc(PACKAGE_VERSION);        } else if (strcasecmp(args[0], "COMPILETIME") == 0) {            return stralloc(__DATE__ " " __TIME__);        } else {            return stralloc("[ERROR: internal unknown argument]");        }    } else {        return stralloc("[ERROR: internal expected 1 argument]");    }}
开发者ID:Distrotech,项目名称:rrdtool,代码行数:16,


示例9: atol

char     *rrdgoodfor(    long argc,    const char **args){    if (argc == 1) {        goodfor = atol(args[0]);    } else {        return stralloc("[ERROR: goodfor expected 1 argument]");    }    if (goodfor == 0) {        return stralloc("[ERROR: goodfor value must not be 0]");    }    return stralloc("");}
开发者ID:Distrotech,项目名称:rrdtool,代码行数:16,


示例10: DEF_MANAGE_SCANS

static void DEF_MANAGE_SCANS(){	RDAdefault *def=NULL;	char *defdir=NULL;	char *temp1=NULL;	def=RDAdefaultNEW("ARCHIVE","MANAGE SCANS");	if(def!=NULL)	{		def->input_focus=stralloc("ADD SCAN DIRECTORIES");		defdir=Rmalloc(RDAstrlen(CURRENTDIRECTORY)+RDAstrlen(module)+12);#ifndef WIN32		sprintf(defdir,"%s/rda/%s.DEF",CURRENTDIRECTORY,module);#endif#ifdef WIN32		sprintf(defdir,"%s//rda//%s.DEF",CURRENTDIRECTORY,module);#endif		if(writedefaultbin(defdir,def))		{			if(temp1!=NULL) Rfree(temp1);			temp1=Rmalloc(12+7+100+1);			sprintf(temp1,"SCREEN DEFAULT WRITE ERROR: Module [ARCHIVE] Screen [MANAGE SCANS], Can Not Save Screen Defaults!");			prterr(temp1);			if(errorlist!=NULL)			{				addERRlist(&errorlist,temp1);			}			if(temp1!=NULL) Rfree(temp1);		}		if(defdir!=NULL) Rfree(defdir);		if(def!=NULL) FreeRDAdefault(def);	}}
开发者ID:DTidd,项目名称:OpenRDAAPI,代码行数:34,


示例11: cfg_do_set

static int cfg_do_set(CONFIG *table,char *item,char *value,int copy,    void *context){    CONFIG *walk;    for (walk = table; walk->type != cft_end; walk++) {	if (walk->name && !strcasecmp(walk->name,item)) {	    if (value && walk->type != cft_strg)		cfg_error("'%s' doesn't have a value",walk->name);	    if (!value && walk->type == cft_strg)		cfg_error("Value expected for '%s'",walk->name);	    if (walk->data) {		if (walk->context == context)		    cfg_error("Duplicate entry '%s'",walk->name);		else {		    warn("Ignoring entry '%s'",walk->name);		    if (!copy) free(value);		    return 1;		}	    }	    if (walk->type == cft_flag) walk->data = &flag_set;	    else if (walk->type == cft_strg)		    walk->data = copy ? stralloc(value) : value; 	    walk->context = context;	    if (walk->action) ((void (*)(void)) walk->action)();	    break;	}	if (walk->type == cft_link) walk = ((CONFIG *) walk->action)-1;    }    if (walk->type != cft_end) return 1;    cfg_return(item,value);    return 0;}
开发者ID:a2o,项目名称:lilo,代码行数:33,


示例12: main

int main(int argc,char **argv)#endif{	if(InitializeSubsystems(argc,argv,module,"ITRON IMPORT FILE")) 	{		RDAAPPMAINLOOP();		return;	}	if((utbcus=APPOPNNRD(module,"UTBCUS",TRUE,FALSE))==(-1)) return;	if((utbsvc=APPOPNNRD(module,"UTBSVC",TRUE,TRUE))==(-1)) return;	if((utbmtr=APPOPNNRD(module,"UTBMTR",TRUE,FALSE))==(-1)) return;	if((utbrte=APPOPNNRD(module,"UTBRTE",TRUE,TRUE))==(-1)) return;	MAINrsrc=RDArsrcNEW(module,"ITRON IMPORT FILE");	addDFincvir(MAINrsrc,module,"UTBCUS",NULL,utbcus);	addDFincvir(MAINrsrc,module,"UTBSVC",NULL,utbsvc);	addDFincvir(MAINrsrc,module,"UTBMTR",NULL,utbmtr);	addDFincvir(MAINrsrc,module,"UTBRTE",NULL,utbrte);	ITRON_FILENAME=stralloc("UPLOAD.DAT");	addstdrsrc(MAINrsrc,"FILENAME",VARIABLETEXT,0,ITRON_FILENAME,TRUE);	DefaultScreens(MAINrsrc);	addbtnrsrc(MAINrsrc,"DEFAULTS",TRUE,SaveDefaults,NULL);	addrfcbrsrc(MAINrsrc,"SELECT",TRUE,ReadItron,NULL);	addrfexrsrc(MAINrsrc,"QUIT",TRUE,quitfunc,NULL);	addrfcbrsrc(MAINrsrc,"HELP",TRUE,screenhelp,NULL);	addrfcbrsrc(MAINrsrc,"PRINT RESOURCES",TRUE,printrsrcs,NULL);	computeallSCRNvirtuals(MAINrsrc);	APPmakescrn(MAINrsrc,TRUE,quitfunc,NULL,TRUE);	RDAAPPMAINLOOP();}
开发者ID:DTidd,项目名称:OpenRDAAPI,代码行数:29,


示例13: cd_dir

intcd_dir(    char *	path_on_disk,    char *	default_dir,    int		verbose){    char *dir = NULL;    char *s;    int nb_found;    int result;    size_t i;    DIR_ITEM *ditem;    if ((s = validate_regexp(path_on_disk)) != NULL) {	result = set_directory(default_dir, verbose);	return result;    }    nb_found = 0;    for (ditem=get_dir_list(); ditem!=NULL && nb_found <= 1; 			       ditem=get_next_dir_item(ditem))    {	if (match(path_on_disk, ditem->path))	{	    i = strlen(ditem->path);	    if((i > 0 && ditem->path[i-1] == '/')               || (i > 1 && ditem->path[i-2] == '/' && ditem->path[i-1] == '.'))            {   /* It is a directory */		char *dir1, *dir2;		nb_found++;		dir = newstralloc(dir,ditem->path);		if(dir[strlen(dir)-1] == '/')		    dir[strlen(dir)-1] = '/0'; /* remove last / */		/* remove everything before the last / */		dir1 = strrchr(dir,'/');		if (dir1) {		    dir1++;		    dir2 = stralloc(dir1);		    amfree(dir);		    dir = dir2;		}	    }	}    }    if(nb_found==0) {	result = set_directory(default_dir, verbose);    }    else if(nb_found==1) {	result = set_directory(dir, verbose);    }    else {	g_printf(_("Too many directories matching '%s'/n"), default_dir);	result = 0;    }    amfree(dir);    return result;}
开发者ID:malclocke,项目名称:amanda,代码行数:60,


示例14: setCFI_IDENT

void setCFI_IDENT(Connection *Conn,int cid[2],int sv){	CStr(env,1024);	IGNRETZ pipe(cid);	sprintf(env,"CFI_IDENT=%d",cid[1]);	putenv(stralloc(env));}
开发者ID:2dot4,项目名称:Psiphon3-for-Linux,代码行数:7,


示例15: ippAddOctetString

ipp_attribute_t	*			ippAddOctetString(ipp_t      *ipp,	                  ipp_tag_t  group,	                  const char *name,	                  const void *data,			  int        datalen)	{  ipp_attribute_t	*attr;		  if (ipp == NULL || name == NULL)    return (NULL);  if ((attr = _ippAddAttr(ipp, 1)) == NULL)    return (NULL);  attr->name                     = stralloc(name);  attr->group_tag                = group;  attr->value_tag                = IPP_TAG_STRING;  attr->values[0].unknown.length = datalen;  if (data)  {    if ((attr->values[0].unknown.data = malloc(datalen)) == NULL)    {      ippDeleteAttribute(ipp, attr);      return (NULL);    }    memcpy(attr->values[0].unknown.data, data, datalen);  }  return (attr);}
开发者ID:daddyreb,项目名称:Bigit_Genie,代码行数:34,


示例16: ippAddBooleans

ipp_attribute_t *			ippAddBooleans(ipp_t      *ipp,		               ipp_tag_t  group,		       const char *name,		       int        num_values,		       const char *values)	{  int			i;		  ipp_attribute_t	*attr;		  ipp_value_t		*value;		  if (!ipp || !name || num_values < 1)    return (NULL);  if ((attr = _ippAddAttr(ipp, num_values)) == NULL)    return (NULL);  attr->name      = stralloc(name);  attr->group_tag = group;  attr->value_tag = IPP_TAG_BOOLEAN;  if (values != NULL)    for (i = 0, value = attr->values;	 i < num_values;	 i ++, value ++)      value->boolean = values[i];  return (attr);}
开发者ID:daddyreb,项目名称:Bigit_Genie,代码行数:29,


示例17: calfree

char     *drawgraph(    long argc,    const char **args){    int       i, xsize, ysize;    double    ymin, ymax;    for (i = 0; i < argc; i++)        if (strcmp(args[i], "--imginfo") == 0 || strcmp(args[i], "-g") == 0)            break;    if (i == argc) {        args[argc++] = "--imginfo";        args[argc++] = "<IMG SRC=/"./%s/" WIDTH=/"%lu/" HEIGHT=/"%lu/">";    }    calfree();    if (rrd_graph        (argc + 1, (char **) args - 1, &calcpr, &xsize, &ysize, NULL, &ymin,         &ymax) != -1) {        return stralloc(calcpr[0]);    } else {        if (rrd_test_error()) {            const size_t len = strlen(rrd_get_error()) + DS_NAM_SIZE;            char *err = malloc(len);            snprintf(err, len, "[ERROR: %s]", rrd_get_error());            rrd_clear_error();            return err;        }    }    return NULL;}
开发者ID:Distrotech,项目名称:rrdtool,代码行数:30,


示例18: ippAddResolution

ipp_attribute_t *			ippAddResolution(ipp_t      *ipp,	        	 ipp_tag_t  group,			 const char *name,			 ipp_res_t  units,			 int        xres,			 int        yres)	{  ipp_attribute_t	*attr;		  if (!ipp || !name)    return (NULL);  if ((attr = _ippAddAttr(ipp, 1)) == NULL)    return (NULL);  attr->name                       = stralloc(name);  attr->group_tag                  = group;  attr->value_tag                  = IPP_TAG_RESOLUTION;  attr->values[0].resolution.xres  = xres;  attr->values[0].resolution.yres  = yres;  attr->values[0].resolution.units = units;  return (attr);}
开发者ID:daddyreb,项目名称:Bigit_Genie,代码行数:25,


示例19: inputline

char           *inputline(){	/* and removes comment, newline, beginning and trailing blanks */	/* used to get the TITLE line */#if __TURBOC__ || SYSV || VMS#define index strchr#endif	char            *cp;	int             i;	buf[0] = '/0';	cp = Gets(buf);	i = strlen(buf);	if (i)		buf[i - 1] = '/0';	if ((cp = index(buf, '!')) != (char *) 0) {		*cp-- = '/0';	}	while (cp >= buf && isspace(*cp)) {		*cp-- = '/0';	}	/*EMPTY*/	for (cp = buf; *cp != '/0' && isspace(*cp); cp++){		;	}	return stralloc(cp, (char *) 0);}
开发者ID:bhache,项目名称:pkg-neuron,代码行数:28,


示例20: ippAddCollections

ipp_attribute_t *			ippAddCollections(    ipp_t       *ipp,			    ipp_tag_t   group,			    const char  *name,			    int         num_values,		    const ipp_t **values)		{  int			i;		  ipp_attribute_t	*attr;		  ipp_value_t		*value;		  if (!ipp || !name || num_values < 1)    return (NULL);  if ((attr = _ippAddAttr(ipp, num_values)) == NULL)    return (NULL);  attr->name      = stralloc(name);  attr->group_tag = group;  attr->value_tag = IPP_TAG_BEGIN_COLLECTION;  if (values != NULL)  {    for (i = 0, value = attr->values;	 i < num_values;	 i ++, value ++)    {      value->collection = (ipp_t *)values[i];      value->collection->use ++;    }  }  return (attr);}
开发者ID:daddyreb,项目名称:Bigit_Genie,代码行数:35,


示例21: process_driver_command

/* In running mode (not startup mode), get a command from driver and   deal with it. */static gboolean process_driver_command(taper_state_t * state) {    struct cmdargs *cmdargs;    char * q;    /* This will return QUIT if driver has died. */    cmdargs = getcmd();    switch (cmdargs->cmd) {    case PORT_WRITE:        /*         * PORT-WRITE         *   handle         *   hostname         *   features         *   diskname         *   level         *   datestamp         *   splitsize         *   split_diskbuffer         */        process_port_write(state, cmdargs);        break;            case FILE_WRITE:        /*         * FILE-WRITE         *   handle         *   filename         *   hostname         *   features         *   diskname         *   level         *   datestamp         *   splitsize         */        process_file_write(state, cmdargs);        break;            case QUIT:	free_cmdargs(cmdargs);	if (state->device && state->device->volume_label) {	    log_add(L_INFO, "tape %s kb %lld fm %d [OK]/n",		    state->device->volume_label,		    (long long)((state->total_bytes+(off_t)1023) / (off_t)1024),		    state->device->file);	}        return send_quitting(state);    default:        if (cmdargs->argc >= 1) {            q = quote_string(cmdargs->argv[0]);        } else {            q = stralloc("(no input?)");        }        putresult(BAD_COMMAND, "%s/n", q);        amfree(q);        break;    }    free_cmdargs(cmdargs);    return TRUE;}
开发者ID:regina,项目名称:amanda,代码行数:62,


示例22: rrdsetenv

char* rrdsetenv(long argc, const char **args) {	if (argc >= 2) {		char *xyz = malloc((strlen(args[0]) + strlen(args[1]) + 2));		if (xyz == NULL) {			return stralloc("[ERROR: allocating setenv buffer]");		};		sprintf(xyz, "%s=%s", args[0], args[1]);		if(putenv(xyz) == -1) {			free(xyz);			return stralloc("[ERROR: failed to do putenv]");		}; 	        return stralloc("");	}	return stralloc("[ERROR: setenv failed because not enough "		  			"arguments were defined]");}
开发者ID:nickmbailey,项目名称:python26-rrdtool-rpm,代码行数:16,


示例23: ippAddIntegers

ipp_attribute_t *			ippAddIntegers(ipp_t      *ipp,		               ipp_tag_t  group,		       ipp_tag_t  type,			       const char *name,		       int        num_values,		       const int  *values)	{  int			i;		  ipp_attribute_t	*attr;		  ipp_value_t		*value;		  if (!ipp || !name || num_values < 1)    return (NULL);  if ((attr = _ippAddAttr(ipp, num_values)) == NULL)    return (NULL);  attr->name      = stralloc(name);  attr->group_tag = group;  attr->value_tag = type;  if (values != NULL)    for (i = 0, value = attr->values;	 i < num_values;	 i ++, value ++)      value->integer = values[i];  return (attr);}
开发者ID:daddyreb,项目名称:Bigit_Genie,代码行数:30,


示例24: amxml_parse_node_FILE

dle_t *amxml_parse_node_FILE(    FILE *file,    char **errmsg){    amgxml_t             amgxml = {NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL};    GMarkupParser        parser = {&amstart_element, &amend_element, &amtext,				   NULL, NULL};    GMarkupParseFlags    flags = 0;    GMarkupParseContext *context;    GError		*gerror = NULL;    char                *line;    (void)errmsg;    context = g_markup_parse_context_new(&parser, flags, &amgxml, NULL);    while ((line = agets(file)) != NULL && !gerror) {	g_markup_parse_context_parse(context, line, strlen(line), &gerror);	amfree(line);    }    if (!gerror)	g_markup_parse_context_end_parse(context, &gerror);    g_markup_parse_context_free(context);    if (gerror) {	if (errmsg)	    *errmsg = stralloc(gerror->message);	g_error_free(gerror);    }    return amgxml.dles;}
开发者ID:TonyChiang,项目名称:amanda,代码行数:31,


示例25: CStr

const char *paramAbsPath(PCStr(param)){	int plen;	int pi;	CStr(px,1024);	const char **apath;	if( strncmp(param,"DGROOT=",plen=7) == 0 ){		pi = PX_DGROOT;		apath = &DELEGATE_DGROOT;	}else{		return 0;	}	if( isFullpath(param+plen) ){		return 0;	}	if( absPARAMS[pi] ){		return absPARAMS[pi];	}	if( !isFullpath(*apath) ){		return 0;	}	strcpy(px,param);	Xstrcpy(DVStr(px,plen),*apath);	absPARAMS[pi] = stralloc(px);	return absPARAMS[pi];}
开发者ID:2dot4,项目名称:Psiphon3-for-Linux,代码行数:26,


示例26: amxml_parse_node_CHAR

dle_t *amxml_parse_node_CHAR(    char *txt,    char **errmsg){    amgxml_t             amgxml = {NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL};    GMarkupParser        parser = {&amstart_element, &amend_element, &amtext,				   NULL, NULL};    GMarkupParseFlags    flags = 0;    GMarkupParseContext *context;    GError		*gerror = NULL;    (void)errmsg;    context = g_markup_parse_context_new(&parser, flags, &amgxml, NULL);    g_markup_parse_context_parse(context, txt, strlen(txt), &gerror);    if (!gerror)	g_markup_parse_context_end_parse(context, &gerror);    g_markup_parse_context_free(context);    if (gerror) {	if (errmsg)	    *errmsg = stralloc(gerror->message);	g_error_free(gerror);    }    return amgxml.dles;	}
开发者ID:TonyChiang,项目名称:amanda,代码行数:28,


示例27: cgigetq

char* cgigetq(long argc, const char **args){  if (argc>= 1){    char *buf = rrdstrip(rrdcgiGetValue(rrdcgiArg,args[0]));    char *buf2;    char *c,*d;    int  qc=0;    if (buf==NULL) return NULL;    for(c=buf;*c != '/0';c++)      if (*c == '"') qc++;    if ((buf2 = malloc((strlen(buf) + 4 * qc + 4))) == NULL) {	perror("Malloc Buffer");	exit(1);    };    c=buf;    d=buf2;    *(d++) = '"';    while(*c != '/0'){	if (*c == '"') {	    *(d++) = '"';	    *(d++) = '/'';	    *(d++) = '"';	    *(d++) = '/'';	} 	*(d++) = *(c++);    }    *(d++) = '"';    *(d) = '/0';    free(buf);    return buf2;  }  return stralloc("[ERROR: not enough argument for RRD::CV::QUOTE]");}
开发者ID:nickmbailey,项目名称:python26-rrdtool-rpm,代码行数:34,


示例28: quote_dumpspec_string

/* Quote str for shell interpretation, being conservative. * Any non-alphanumeric charcacters other than '.' and '/' * trigger surrounding single quotes, and single quotes and * backslashes within those single quotes are escaped. */static char *quote_dumpspec_string(char *str){    char *rv;    char *p, *q;    int len = 0;    int need_single_quotes = 0;    if (!str[0])	return stralloc("''"); /* special-case the empty string */    for (p = str; *p; p++) {        if (!isalnum((int)*p) && *p != '.' && *p != '/') need_single_quotes=1;        if (*p == '/'' || *p == '//') len++; /* extra byte for '/' */        len++;    }    if (need_single_quotes) len += 2;    q = rv = malloc(len+1);    if (need_single_quotes) *(q++) = '/'';    for (p = str; *p; p++) {        if (*p == '/'' || *p == '//') *(q++) = '//';        *(q++) = *p;    }    if (need_single_quotes) *(q++) = '/'';    *(q++) = '/0';    return rv;}
开发者ID:regina,项目名称:amanda,代码行数:34,


示例29: printf_arglist_function1

printf_arglist_function1(void log_add, logtype_t, typ, char *, format){    va_list argp;    char *leader = NULL;    char *xlated_fmt = gettext(format);    char linebuf[STR_SIZE];    size_t n;    static gboolean in_log_add = 0;    /* avoid recursion */    if (in_log_add)	return;    /* format error message */    if((int)typ <= (int)L_BOGUS || (int)typ > (int)L_MARKER) typ = L_BOGUS;    if(multiline > 0) {	leader = stralloc("  ");		/* continuation line */    } else {	leader = vstralloc(logtype_str[(int)typ], " ", get_pname(), " ", NULL);    }    arglist_start(argp, format);    /* use sizeof(linebuf)-2 to save space for a trailing newline */    g_vsnprintf(linebuf, SIZEOF(linebuf)-2, xlated_fmt, argp);						/* -1 to allow for '/n' */    arglist_end(argp);    /* avoid recursive call from error() */    in_log_add = 1;    /* append message to the log file */    if(multiline == -1) open_log();    if (full_write(logfd, leader, strlen(leader)) < strlen(leader)) {	error(_("log file write error: %s"), strerror(errno));	/*NOTREACHED*/    }    amfree(leader);    /* add a newline if necessary */    n = strlen(linebuf);    if(n == 0 || linebuf[n-1] != '/n') linebuf[n++] = '/n';    linebuf[n] = '/0';    if (full_write(logfd, linebuf, n) < n) {	error(_("log file write error: %s"), strerror(errno));	/*NOTREACHED*/    }    if(multiline != -1) multiline++;    else close_log();    in_log_add = 0;}
开发者ID:TonyChiang,项目名称:amanda,代码行数:59,



注:本文中的stralloc函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ stralloc_0函数代码示例
C++ str_trim函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。