#include <stdio.h>
#include <string.h>
#include "vcc.h"

FILE *cfp;

void myMimeErrorHandler(char *s)
{
    printf("%s\n", s);
}

void main(int argc, char **argv)
{
    int testmem = 0;

	char * foo[2] = {"foo","alden.vcf"};

argc = 2;
argv = foo;

#ifdef _CONSOLE
    cfp = stdout;
    registerMimeErrorHandler(myMimeErrorHandler);
#else
    cfp = fopen("vctest.out", "w");
    if (!cfp) return;
#endif
    ++argv;
    while (--argc) {
	FILE *fp;
	if (strcmp(*argv,"-testmem") == 0) {
	    testmem = 1;
	    argv++;
	    continue;
	    }
	fprintf(cfp,"processing %s\n",*argv);
	fp = fopen(*argv,"r");
	if (!fp) {
	    fprintf(cfp,"error opening file\n");
	    }
	else {
	    VObject *v, *t;
	    FILE *ofp;
	    char buf[256];
	    char *p;
	    strcpy(buf,*argv);
	    p = strchr(buf,'.');
	    if (p) *p = 0;
	    strcat(buf,".out");
	    fprintf(cfp,"reading text input from '%s'...\n", *argv);
	    //v = Parse_MIME_FromFile(fp);
	    v = Parse_MIME_FromFileName(*argv);
		writeVObjectToFile(buf,v);
		cleanVObject(v);

		/*
	    fprintf(cfp,"pretty print internal format of '%s'...\n", *argv);
	    ofp = fopen(buf,"w");
	    while (v) {
		printVObject(cfp,v);
		if (testmem) {
		    char *s, *p;
		    fprintf(cfp,"test writing to mem...\n");
		    p = s  = writeMemVObject(0,0,v);
		    if (s) {
			while (*s) {
			    fputc(*s,ofp);
			    s++;
			    }
			free(p);
			}
		    }
		else {
		    writeVObject(ofp,v);
		    }
		t = v;
		v = nextVObjectInList(v);
		cleanVObject(t);
		}
		
	    fclose(ofp);
	    fclose(fp);
		*/
	    }
		
	cleanStrTbl();
	argv++;
	
	}
	
    if (cfp != stdout) fclose(cfp);

}

t/npm_and_yarn/devel/electron4/files/elliptic-6.5.3'>dependabot/npm_and_yarn/devel/electron4/files/elliptic-6.5.3</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/elliptic-6.5.4'>dependabot/npm_and_yarn/devel/electron4/files/elliptic-6.5.4</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/ini-1.3.7'>dependabot/npm_and_yarn/devel/electron4/files/ini-1.3.7</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.19'>dependabot/npm_and_yarn/devel/electron4/files/lodash-4.17.19</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/lodash.merge-4.6.2'>dependabot/npm_and_yarn/devel/electron4/files/lodash.merge-4.6.2</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.2'>dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.2</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.3'>dependabot/npm_and_yarn/devel/electron4/files/minimist-1.2.3</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/node-fetch-2.6.1'>dependabot/npm_and_yarn/devel/electron4/files/node-fetch-2.6.1</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/serve-10.1.2'>dependabot/npm_and_yarn/devel/electron4/files/serve-10.1.2</option>
<option value='dependabot/npm_and_yarn/devel/electron4/files/y18n-3.2.2'>dependabot/npm_and_yarn/devel/electron4/files/y18n-3.2.2</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.3'>dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.3</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.4'>dependabot/npm_and_yarn/devel/electron6/files/elliptic-6.5.4</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8'>dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/lodash-4.17.19'>dependabot/npm_and_yarn/devel/electron6/files/lodash-4.17.19</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/lodash.merge-4.6.2'>dependabot/npm_and_yarn/devel/electron6/files/lodash.merge-4.6.2</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/node-fetch-2.6.1'>dependabot/npm_and_yarn/devel/electron6/files/node-fetch-2.6.1</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/serve-10.1.2'>dependabot/npm_and_yarn/devel/electron6/files/serve-10.1.2</option>
<option value='gnome-3.22'>gnome-3.22</option>
<option value='gnome-3.24'>gnome-3.24</option>
<option value='gnome-3.26'>gnome-3.26</option>
<option value='gnome-3.28'>gnome-3.28</option>
<option value='gnome-3.32'>gnome-3.32</option>
<option value='gnome-3.36'>gnome-3.36</option>
<option value='gstreamer'>gstreamer</option>
<option value='gstreamer-1.16'>gstreamer-1.16</option>
<option value='gstreamer0.10-removal'>gstreamer0.10-removal</option>
<option value='main' selected='selected'>main</option>
<option value='master'>master</option>
<option value='mate-1.16'>mate-1.16</option>
<option value='mate-1.18'>mate-1.18</option>
<option value='mate-1.20'>mate-1.20</option>
<option value='mate-1.22'>mate-1.22</option>
</select> <input type='submit' value='switch'/></form></td></tr>
<tr><td class='sub'>FreeBSD GNOME current development ports (https://github.com/freebsd/freebsd-ports-gnome)</td><td class='sub right'></td></tr></table>
<table class='tabs'><tr><td>
<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/about/'>about</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/'>summary</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/refs/?id=457ce4824be61506e411f72c2549b7034cc119b4'>refs</a><a class='active' href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/devel/mime'>log</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/tree/devel/mime?id=457ce4824be61506e411f72c2549b7034cc119b4'>tree</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/devel/mime?id=457ce4824be61506e411f72c2549b7034cc119b4'>commit</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/diff/devel/mime?id=457ce4824be61506e411f72c2549b7034cc119b4'>diff</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/stats/devel/mime'>stats</a></td><td class='form'><form class='right' method='get' action='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/devel/mime'>
<input type='hidden' name='id' value='457ce4824be61506e411f72c2549b7034cc119b4'/><select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/?id=457ce4824be61506e411f72c2549b7034cc119b4'>root</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/devel?id=457ce4824be61506e411f72c2549b7034cc119b4'>devel</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/devel/mime?id=457ce4824be61506e411f72c2549b7034cc119b4'>mime</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th></th><th class='left'>Commit message (<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/devel/mime?id=457ce4824be61506e411f72c2549b7034cc119b4&amp;showmsg=1'>Expand</a>)</th><th class='left'>Author</th><th class='left'>Age</th><th class='left'>Files</th><th class='left'>Lines</th></tr>