Ejemplo n.º 1
0
int MFLoadConfig (char *fileName, int (*func) (const char *,const char *)) {
	FILE *fp;
	char *buffer = (char *) NULL, *name, *content;
	int size = 0, lNum = 0, i, len;

	if ((fp = fopen (fileName,"r")) == (FILE *) NULL) {
		CMmsgPrint (CMmsgUsrError, "Configuration file [%s] opening error!\n", fileName);
		return (CMfailed);
	}
	while ((buffer = CMbufGetLine (buffer,&size,fp)) != (char *) NULL) {
		lNum ++;
		buffer = CMbufTrim (buffer);
		len    = strlen (buffer);
		if (len == 0)          continue;
		if (buffer [0] == '#') continue;
		for (i = 0; i < len; ++i) if (buffer [i] == '=') break;
		if (i == len) { CMmsgPrint (CMmsgWarning,"Skipping line [%s:%d %s]\n",fileName,lNum, buffer); continue; }
		buffer [i] = '\0';
		name = CMbufTrim (buffer);
		content = CMbufStripDQuotes (CMbufStripSQuotes (CMbufTrim (buffer + i + 1)));
		len = strlen (content);
		for (i = 0;i < len;++i) if (content [i] == '#') break;
		if (i < len) { content [i] = '\0'; content = CMbufTrim (buffer); }
		if (func (name, content) != CMsucceeded) return (CMfailed);
	}
	return (CMsucceeded);
}
Ejemplo n.º 2
0
static int _MFModelOutputNew (const char *name, const char *path, bool state) {
	_MFModelOutput = (struct output_s *) realloc (_MFModelOutput,sizeof (struct output_s)  * (_MFModelOutNum + 1));
	if (_MFModelOutput == (struct output_s *) NULL) {
		CMmsgPrint (CMmsgSysError,"Memory Allocation Error in: %s:%d\n",__FILE__,__LINE__);
		return (CMfailed);
	}
	_MFModelOutput [_MFModelOutNum].Name  = (char *) malloc (strlen (name) + 1);
	_MFModelOutput [_MFModelOutNum].Path  = (char *) malloc (strlen (path) + 1);
	if ((_MFModelOutput [_MFModelOutNum].Name == (char *) NULL) ||
	    (_MFModelOutput [_MFModelOutNum].Path == (char *) NULL)) {
		CMmsgPrint (CMmsgSysError,"Memory Allocation Error in: %s:%d\n",__FILE__,__LINE__);
		return (CMfailed);
	}
	strcpy (_MFModelOutput [_MFModelOutNum].Name, name);
	strcpy (_MFModelOutput [_MFModelOutNum].Path, path);
	_MFModelOutput [_MFModelOutNum].Name  = CMbufStripDQuotes (CMbufStripSQuotes (CMbufTrim (_MFModelOutput [_MFModelOutNum].Name)));
	_MFModelOutput [_MFModelOutNum].Path  = CMbufStripDQuotes (CMbufStripSQuotes (CMbufTrim (_MFModelOutput [_MFModelOutNum].Path)));
	_MFModelOutput [_MFModelOutNum].State = state;
	_MFModelOutNum++;
	return (CMsucceeded);
}