Пример #1
0
int main(int argc, char *argv[])
{
    io_openlinkeddatafile(datafile);

    loadconfig();
    initstuff();
    mainloop();
    saveconfig();
    return 0;
}
Пример #2
0
EXPORT bool asar_patch(const char * patchloc, char * romdata_, int buflen, int * romlen_)
{
    if (!libdir)
    {
            // default to ./lib/ from caller's working directory (hopefully)
            libdir = "./lib/";
    }
	if (buflen!=maxromsize)
	{
		romdata_r=(unsigned char*)malloc(maxromsize);
		memcpy((char*)romdata_r/*we just allocated this, it's safe to violate its const*/, romdata_, *romlen_);
	}
	else romdata_r=(unsigned char*)romdata_;
	romdata=(unsigned char*)malloc(maxromsize);
	memcpy(romdata, romdata_, *romlen_);
	resetdllstuff();
	romlen=*romlen_;
	romlen_r=*romlen_;
	try
	{
		for (pass=0;pass<3;pass++)
		{
			initstuff();
			assemblefile(patchloc, true);
			finishpass();
		}
	}
	catch(errfatal&){}
	if (romdata_!=(char*)romdata_r) free((char*)romdata_r);
	if (buflen<romlen) error<errnull>(pass, "The given buffer is too small to contain the resulting ROM.");
	if (errored)
	{
		free(romdata);
		return false;
	}
	*romlen_=romlen;
	memcpy(romdata_, romdata, romlen);
	free(romdata);
	return true;
}