예제 #1
0
N_NIMCALL(void, initoptparser_176030)(NimStringDesc* cmdline, Optparser176011* Result) {
	(*Result).pos = ((NI) 0);
	(*Result).inshortstate = NIM_FALSE;
	{
		if (!!(((cmdline) && (cmdline)->Sup.len == 0))) goto LA3;
		unsureAsgnRef((void**) (&(*Result).cmd), copyString(cmdline));
	}
	goto LA1;
	LA3: ;
	{
		unsureAsgnRef((void**) (&(*Result).cmd), copyString(((NimStringDesc*) &TMP1543)));
		{
			NI i_176046;
			NI HEX3Atmp_176049;
			NI res_176052;
			i_176046 = 0;
			HEX3Atmp_176049 = 0;
			HEX3Atmp_176049 = nosparamCount();
			res_176052 = ((NI) 1);
			{
				while (1) {
					NimStringDesc* LOC9;
					NimStringDesc* LOC10;
					NimStringDesc* LOC11;
					if (!(res_176052 <= HEX3Atmp_176049)) goto LA8;
					i_176046 = res_176052;
					LOC9 = 0;
					LOC10 = 0;
					LOC10 = nosparamStr(i_176046);
					LOC11 = 0;
					LOC11 = quoteifcontainswhite_100340(LOC10);
					LOC9 = rawNewString((*Result).cmd->Sup.len + LOC11->Sup.len + 1);
appendString(LOC9, (*Result).cmd);
appendString(LOC9, LOC11);
appendChar(LOC9, 32);
					unsureAsgnRef((void**) (&(*Result).cmd), LOC9);
					res_176052 += ((NI) 1);
				} LA8: ;
			}
		}
	}
	LA1: ;
	(*Result).kind = ((NU8) 0);
	unsureAsgnRef((void**) (&(*Result).key), copyString(((NimStringDesc*) &TMP1545)));
	unsureAsgnRef((void**) (&(*Result).val), copyString(((NimStringDesc*) &TMP1545)));
}
예제 #2
0
파일: parseopt.c 프로젝트: ddlsmurf/Nimrod
N_NIMCALL(void, Initoptparser_189415)(NimStringDesc* Cmdline_189417, TY189404* Result) {
NI I_189442;
NI HEX3Atmp_189601;
NI Res_189603;
NimStringDesc* LOC5;
NimStringDesc* LOC6;
NimStringDesc* LOC7;
memset((void*)Result, 0, sizeof((*Result)));
(*Result).Sup.m_type = NTI189404;
(*Result).Pos = 0;
(*Result).Inshortstate = NIM_FALSE;
if (!!(((Cmdline_189417) && (Cmdline_189417)->Sup.len == 0))) goto LA2;
unsureAsgnRef((void**) &(*Result).Cmd, copyString(Cmdline_189417));
goto LA1;
LA2: ;
unsureAsgnRef((void**) &(*Result).Cmd, copyString(((NimStringDesc*) &TMP191636)));
I_189442 = 0;
HEX3Atmp_189601 = 0;
HEX3Atmp_189601 = nosparamCount();
Res_189603 = 0;
Res_189603 = 1;
while (1) {
if (!(Res_189603 <= HEX3Atmp_189601)) goto LA4;
I_189442 = Res_189603;
LOC5 = 0;
LOC6 = 0;
LOC6 = nosparamStr(I_189442);
LOC7 = 0;
LOC7 = Quoteifcontainswhite_25268(LOC6);
LOC5 = rawNewString((*Result).Cmd->Sup.len + LOC7->Sup.len + 1);
appendString(LOC5, (*Result).Cmd);
appendString(LOC5, LOC7);
appendChar(LOC5, 32);
unsureAsgnRef((void**) &(*Result).Cmd, LOC5);
Res_189603 += 1;
} LA4: ;
LA1: ;
(*Result).Kind = ((NU8) 0);
unsureAsgnRef((void**) &(*Result).Key, copyString(((NimStringDesc*) &TMP191636)));
unsureAsgnRef((void**) &(*Result).Val, copyString(((NimStringDesc*) &TMP191636)));
}