Example #1
0
/*
 * Fetch a single file into a malloc'd buffer. The file size is returned
 * in *filesize. The returned buffer is always zero-terminated, which is
 * handy for text files.
 */
char *
fetchFile(char *filename, size_t *filesize)
{
	if (datadir_source)
		return slurpFile(datadir_source, filename, filesize);
	else
		return libpqGetFile(filename, filesize);
}
Example #2
0
char *
Slurp::slurpFile( const char *filename ){
    int fd;
    if(-1==(fd=open( filename, O_RDONLY ))){
        char err_msg[128];
        sprintf(err_msg, " File %s could not be opened for slurping", filename);
        perror(err_msg);
        return NULL;
    }
    return slurpFile( fd, true );
};
Example #3
0
int main(int argc, char **argv) {

	XmlElt_t Root;
	Hash_t Attr;
	XmlDoc_t Doc;
	/*
	char *tstfiles[] = { "soap.xml", 
											 "tst2.xml", 
											 "tst3.xml", 
											 NULL };
	*/
	//	char *tstfiles[] = { "soap.xml", NULL };
	char *tstfiles[] = { "test.xml", NULL };
//	char *tstfiles[] = { "utf8.xml", NULL };
	char **file = tstfiles;


	//	char tst[]="%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E+%0A%3CPUSH_CLIENT+ENCRYPTED%3D%22No%22+PRIORITY%3D%22NORMAL%22%3E%0A++%3CCONTROL%3E%0A++++%3COFFER+IDOFFER%3D%22RQSCVFTOURDEFRANCE%22%2F%3E%0A++%3C%2FCONTROL%3E%0A++%3CCONTENT+FORMAT%3D%22A%22+TIMESTAMP%3D%22%22%3E%0A++++%3CFROM%3E%3C%2FFROM%3E%0A++++%3CUSER+TYPE%3D%22MSISDN%22+VALUE%3D%22663130190%22%2F%3E%0A++++%3CSUBJECT%3E%3C%2FSUBJECT%3E%0A++++%3CTEXT+LENGTH%3D%2211%22%3EON+A+ETE%C3%83%C2%A8%C3%83%C2%AC%C3%83%3F%3C%2FTEXT%3E%0A++%3C%2FCONTENT%3E%0A%3C%2FPUSH_CLIENT%3E";

	char tst[]="%3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E+%0A%3CPUSH_CLIENT+ENCRYPTED%3D%22No%22+PRIORITY%3D%22NORMAL%22%3E%0A++%3CCONTROL%3E%0A++++%3COFFER+IDOFFER%3D%22RQSCVFTOURDEFRANCE%22%2F%3E%0A++%3C%2FCONTROL%3E%0A++%3CCONTENT+FORMAT%3D%22A%22+TIMESTAMP%3D%22%22%3E%0A++++%3CFROM%3E%3C%2FFROM%3E%0A++++%3CUSER+TYPE%3D%22MSISDN%22+VALUE%3D%22661577662%22%2F%3E%0A++++%3CSUBJECT%3E%3C%2FSUBJECT%3E%0A++++%3CTEXT+LENGTH%3D%2249%22%3EEST+CE+QUE+L%27%C3%83%3FQUIPE+US+POSTAL+PEUT+ENCORE+GAGNER%3F%3C%2FTEXT%3E%0A++%3C%2FCONTENT%3E%0A%3C%2FPUSH_CLIENT%3E";

	tb_errorlevel = TB_NOTICE;

	

	do {
		String_t S = slurpFile( *file++ );
//		String_t S = tb_String("%s", tst);

/* 		tb_UrlDecode(S); */
/* 		tb_Dump(S); */
/* 		//		tb_UTF8_to_Latin1(S); */
/* 		tb_Dump(S); */
/* 		//tb_UTF8_to_Latin1(S); */
/* 		tb_Dump(S); */

		//		tb_Dump(tb_UrlEncode(S));
		//tb_Dump(tb_UrlDecode(S));


		tb_profile("start parsing\n");
		Doc = tb_XmlDoc(S2sz(S));
		if(! Doc) exit(1);

		tb_profile("doc parsed\n");
		tb_Free(S);
		Root = XDOC_getRoot(Doc);

		String_t Reverse = XDOC_to_xml(Doc);
		fprintf(stderr, "%s", tb_toStr(Reverse));


		exit(0);

		/*
		Root = XDOC_getRoot(Doc);
		tb_Dump( Root );
		*/
		tb_profile("+Dom_to_xml\n");
		S = XDOC_to_xml(Doc);
		tb_Dump(S);

		tb_profile("-Dom_to_xml\n");
		//		tb_Dump( S );
		tb_Free(S);
		tb_profile("+free doc\n");
		tb_Free(Doc);
		tb_profile("-free doc\n");
		exit(0);
	} while( *file );

	exit(0);

	fm_Dump();

	Doc = tb_XmlDoc(NULL);
	Attr = tb_Hash();
	tb_Replace(Attr, tb_String("oui"), "att1");
	tb_Replace(Attr, tb_String("non"), "att2");
	tb_Replace(Attr, tb_String("non"), "att3");
	tb_Dump(Attr);
	Root = tb_XmlNodeElt(NULL, "rootelt", Attr);
	XDOC_setRoot(Doc, Root);
	
	fprintf(stderr, "%s\n", S2sz(XDOC_to_xml(Doc)));

	//	fm_dumpChunks();

	return 0;
}
Example #4
0
	/*! Import a Position Weight Matrices file
	 Imports file and parses the file position weight matrix file
	 \param[in] std::string file
	 */
	void PWM::import(std::string& file){
		std::string modelString=slurpFile(file);
		parse(modelString);
	}