• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ copyString函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中copyString函数的典型用法代码示例。如果您正苦于以下问题:C++ copyString函数的具体用法?C++ copyString怎么用?C++ copyString使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了copyString函数的17个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: N_NIMCALL


//.........这里部分代码省略.........
nosOSError(((NimStringDesc*) &TMP196863));
LA6: ;
Pid_69355 = 0;
Pid_69355 = fork();
if (!(Pid_69355 < 0)) goto LA9;
nosOSError(((NimStringDesc*) &TMP196864));
LA9: ;
if (!(Pid_69355 == 0)) goto LA12;
LOC14 = close(Pstdin_69333[(1)-0]);
LOC16 = dup2(Pstdin_69333[(0)-0], ((NI32) 0));
if (!(((NI) (LOC16)) < 0)) goto LA17;
nosOSError(((NimStringDesc*) &TMP196865));
LA17: ;
LOC19 = close(Pstdout_69334[(0)-0]);
LOC21 = dup2(Pstdout_69334[(1)-0], ((NI32) 1));
if (!(((NI) (LOC21)) < 0)) goto LA22;
nosOSError(((NimStringDesc*) &TMP196865));
LA22: ;
if (!((Options_68248 &(1<<((((NU8) 2))&7)))!=0)) goto LA25;
LOC28 = dup2(Pstdout_69334[(1)-0], ((NI32) 2));
if (!(((NI) (LOC28)) < 0)) goto LA29;
nosOSError(((NimStringDesc*) &TMP196865));
LA29: ;
goto LA24;
LA25: ;
LOC32 = pipe(Pstderr_69335);
if (!!((LOC32 == ((NI32) 0)))) goto LA33;
nosOSError(((NimStringDesc*) &TMP196863));
LA33: ;
LOC35 = close(Pstderr_69335[(0)-0]);
LOC37 = dup2(Pstderr_69335[(1)-0], ((NI32) 2));
if (!(((NI) (LOC37)) < 0)) goto LA38;
nosOSError(((NimStringDesc*) &TMP196865));
LA38: ;
LA24: ;
if (!(0 < Workingdir_68239->Sup.len)) goto LA41;
Setcurrentdir_38201(Workingdir_68239);
LA41: ;
if (!!(((Options_68248 &(1<<((((NU8) 1))&7)))!=0))) goto LA44;
A_69412 = 0;
memset((void*)&LOC46, 0, sizeof(LOC46));
LOC46[0] = nosextractFilename(Command_68238);
A_69412 = Tocstringarray_69218(LOC46, 1, Args_68244, Args_68244Len0);
if (!(Env_68245 == NIM_NIL)) goto LA48;
LOC50 = execv(Command_68238->data, A_69412);
goto LA47;
LA48: ;
LOC51 = Tocstringarray_69290(Env_68245);
LOC52 = execve(Command_68238->data, A_69412, LOC51);
LA47: ;
goto LA43;
LA44: ;
X_69424 = 0;
X_69424 = Addcmdargs_69203(Command_68238, Args_68244, Args_68244Len0);
A_69433 = 0;
memset((void*)&LOC53, 0, sizeof(LOC53));
LOC53[0] = copyString(X_69424);
A_69433 = Tocstringarray_69218(TMP196868, 2, LOC53, 1);
if (!(Env_68245 == NIM_NIL)) goto LA55;
LOC57 = execv("/bin/sh", A_69433);
goto LA54;
LA55: ;
LOC58 = Tocstringarray_69290(Env_68245);
LOC59 = execve("/bin/sh", A_69433, LOC58);
LA54: ;
LA43: ;
LOC60 = 0;
LOC61 = strerror(errno);
LOC62 = 0;
LOC62 = cstrToNimstr(LOC61);
LOC60 = rawNewString(LOC62->Sup.len + 20);
appendString(LOC60, ((NimStringDesc*) &TMP196871));
appendString(LOC60, LOC62);
Quit_21140(LOC60);
LA12: ;
if (!((Options_68248 &(1<<((((NU8) 0))&7)))!=0)) goto LA64;
LOC66 = 0;
LOC67 = 0;
LOC67 = nsuJoinSep(Args_68244, Args_68244Len0, ((NimStringDesc*) &TMP196867));
LOC66 = rawNewString(Command_68238->Sup.len + LOC67->Sup.len + 1);
appendString(LOC66, Command_68238);
appendString(LOC66, ((NimStringDesc*) &TMP196867));
appendString(LOC66, LOC67);
rawEcho(LOC66);
rawEchoNL();
LA64: ;
(*Result_69330).Id = ((int) (Pid_69355));
(*Result_69330).Inputhandle = Pstdin_69333[(1)-0];
(*Result_69330).Outputhandle = Pstdout_69334[(0)-0];
if (!((Options_68248 &(1<<((((NU8) 2))&7)))!=0)) goto LA69;
(*Result_69330).Errorhandle = (*Result_69330).Outputhandle;
goto LA68;
LA69: ;
(*Result_69330).Errorhandle = Pstderr_69335[(0)-0];
LOC71 = close(Pstderr_69335[(1)-0]);
LA68: ;
LOC72 = close(Pstdin_69333[(0)-0]);
LOC73 = close(Pstdout_69334[(1)-0]);
return Result_69330;
}
开发者ID:ddlsmurf,项目名称:Nimrod,代码行数:101,代码来源:osproc.c


示例2: N_NIMCALL

N_NIMCALL(void, npcnext)(tcfgparser156014* c, tcfgevent156008* Result) {
	switch ((*c).Tok.Kind) {
	case ((NU8) 1):
	{
		(*Result).Kind = ((NU8) 0);
	}
	break;
	case ((NU8) 7):
	{
		rawgettok_156048(c, &(*c).Tok);
		chckNil((void*)Result);
		genericReset((void*)Result, (&NTI156008));
		(*Result).Sup.m_type = (&NTI156008);
		getkeyvalpair_156899(c, ((NU8) 3), Result);
	}
	break;
	case ((NU8) 2):
	{
		chckNil((void*)Result);
		genericReset((void*)Result, (&NTI156008));
		(*Result).Sup.m_type = (&NTI156008);
		getkeyvalpair_156899(c, ((NU8) 2), Result);
	}
	break;
	case ((NU8) 5):
	{
		rawgettok_156048(c, &(*c).Tok);
		{
			if (!((*c).Tok.Kind == ((NU8) 2))) goto LA7;
			(*Result).Kind = ((NU8) 1);
			unsureAsgnRef((void**) &(*Result).kindU.S2.Section, copyString((*c).Tok.Literal));
		}
		goto LA5;
		LA7: ;
		{
			NimStringDesc* LOC10;
			(*Result).Kind = ((NU8) 4);
			LOC10 = 0;
			LOC10 = rawNewString((*c).Tok.Literal->Sup.len + 28);
appendString(LOC10, ((NimStringDesc*) &TMP138));
appendString(LOC10, (*c).Tok.Literal);
			unsureAsgnRef((void**) &(*Result).kindU.S4.Msg, npcerrorStr(&(*c), LOC10));
		}
		LA5: ;
		rawgettok_156048(c, &(*c).Tok);
		{
			if (!((*c).Tok.Kind == ((NU8) 6))) goto LA13;
			rawgettok_156048(c, &(*c).Tok);
		}
		goto LA11;
		LA13: ;
		{
			NimStringDesc* LOC16;
			genericReset((void*)Result, (&NTI156008));
			(*Result).Kind = ((NU8) 4);
			LOC16 = 0;
			LOC16 = rawNewString((*c).Tok.Literal->Sup.len + 25);
appendString(LOC16, ((NimStringDesc*) &TMP140));
appendString(LOC16, (*c).Tok.Literal);
			unsureAsgnRef((void**) &(*Result).kindU.S4.Msg, npcerrorStr(&(*c), LOC16));
		}
		LA11: ;
	}
	break;
	case ((NU8) 0):
	case ((NU8) 3):
	case ((NU8) 4):
	case ((NU8) 6):
	{
		NimStringDesc* LOC18;
		(*Result).Kind = ((NU8) 4);
		LOC18 = 0;
		LOC18 = rawNewString((*c).Tok.Literal->Sup.len + 15);
appendString(LOC18, ((NimStringDesc*) &TMP141));
appendString(LOC18, (*c).Tok.Literal);
		unsureAsgnRef((void**) &(*Result).kindU.S4.Msg, npcerrorStr(&(*c), LOC18));
		rawgettok_156048(c, &(*c).Tok);
	}
	break;
	}
}
开发者ID:Araq,项目名称:quicklook-rest-with-nim,代码行数:81,代码来源:parsecfg.c


示例3: N_NIMCALL

N_NIMCALL(void, parseuri_203007)(NimStringDesc* uri, Uri201012* result) {
	NI i;
	NIM_BOOL doubleslash;
	NIM_BOOL LOC1;
	NI LOC11;
{	reseturi_201196(result);
	i = ((NI) 0);
	LOC1 = 0;
	LOC1 = (((NI) 1) < (uri ? uri->Sup.len : 0));
	if (!(LOC1)) goto LA2;
	LOC1 = ((NU8)(uri->data[((NI) 1)]) == (NU8)(47));
	LA2: ;
	doubleslash = LOC1;
	{
		if (!((NU8)(uri->data[i]) == (NU8)(47))) goto LA5;
		{
			if (!!(doubleslash)) goto LA9;
			parsepath_201121(uri, (&i), result);
			goto BeforeRet;
		}
		LA9: ;
	}
	LA5: ;
	LOC11 = 0;
	LOC11 = parsewhile_97054(uri, (&(*result).scheme), TMP1168, i);
	i += LOC11;
	{
		NIM_BOOL LOC14;
		LOC14 = 0;
		LOC14 = !(((NU8)(uri->data[i]) == (NU8)(58)));
		if (!(LOC14)) goto LA15;
		LOC14 = !(doubleslash);
		LA15: ;
		if (!LOC14) goto LA16;
		i = ((NI) 0);
		(*result).scheme = setLengthStr((*result).scheme, ((NI) 0));
		parsepath_201121(uri, (&i), result);
		goto BeforeRet;
	}
	LA16: ;
	{
		if (!!(doubleslash)) goto LA20;
		i += ((NI) 1);
	}
	LA20: ;
	{
		NIM_BOOL LOC24;
		NimStringDesc* authority;
		NI LOC28;
		LOC24 = 0;
		LOC24 = ((NU8)(uri->data[i]) == (NU8)(47));
		if (!(LOC24)) goto LA25;
		LOC24 = ((NU8)(uri->data[(NI)(i + ((NI) 1))]) == (NU8)(47));
		LA25: ;
		if (!LOC24) goto LA26;
		i += ((NI) 2);
		authority = copyString(((NimStringDesc*) &TMP1133));
		LOC28 = 0;
		LOC28 = parseuntil_96981(uri, (&authority), TMP1169, i);
		i += LOC28;
		{
			Valueerror3849* e_203083;
			NimStringDesc* LOC33;
			if (!((authority) && (authority)->Sup.len == 0)) goto LA31;
			e_203083 = 0;
			e_203083 = (Valueerror3849*) newObj((&NTI24828), sizeof(Valueerror3849));
			(*e_203083).Sup.Sup.m_type = (&NTI3849);
			LOC33 = 0;
			LOC33 = (*e_203083).Sup.message; (*e_203083).Sup.message = copyStringRC1(((NimStringDesc*) &TMP1170));
			if (LOC33) nimGCunrefNoCycle(LOC33);
			raiseException((Exception*)e_203083, "ValueError");
		}
		LA31: ;
		parseauthority_201072(authority, result);
	}
	goto LA22;
	LA26: ;
	{
		(*result).opaque = NIM_TRUE;
	}
	LA22: ;
	parsepath_201121(uri, (&i), result);
	}BeforeRet: ;
}
开发者ID:JJjie,项目名称:RuCTF-2015,代码行数:84,代码来源:stdlib_uri.c


示例4: N_NIMCALL

N_NIMCALL(void, parseassignment_185441)(Tlexer180185* L, Ttoken180181* tok) {
	Tlineinfo162338 info;
	NimStringDesc* s;
	NimStringDesc* val;
	NIM_BOOL percent;
	Tident166021* LOC22;
	{
		NIM_BOOL LOC3;
		Tident166021* LOC4;
		Tident166021* LOC6;
		LOC3 = 0;
		LOC4 = 0;
		LOC4 = getident_166463(((NimStringDesc*) &TMP1886));
		LOC3 = ((*(*tok).ident).Sup.id == (*LOC4).Sup.id);
		if (LOC3) goto LA5;
		LOC6 = 0;
		LOC6 = getident_166463(((NimStringDesc*) &TMP1887));
		LOC3 = ((*(*tok).ident).Sup.id == (*LOC6).Sup.id);
		LA5: ;
		if (!LOC3) goto LA7;
		conftok_185379(L, tok);
	}
	LA7: ;
	info = getlineinfo_180218((&(*L)), (&(*tok)));
	checksymbol_185410((&(*L)), (&(*tok)));
	s = toktostr_180323((&(*tok)));
	conftok_185379(L, tok);
	val = copyString(((NimStringDesc*) &TMP1888));
	{
		while (1) {
			NimStringDesc* LOC11;
			if (!((*tok).toktype == ((NU8) 110))) goto LA10;
			s = addChar(s, 46);
			conftok_185379(L, tok);
			checksymbol_185410((&(*L)), (&(*tok)));
			LOC11 = 0;
			LOC11 = toktostr_180323((&(*tok)));
			s = resizeString(s, LOC11->Sup.len + 0);
appendString(s, LOC11);
			conftok_185379(L, tok);
		} LA10: ;
	}
	{
		NimStringDesc* LOC16;
		if (!((*tok).toktype == ((NU8) 95))) goto LA14;
		conftok_185379(L, tok);
		checksymbol_185410((&(*L)), (&(*tok)));
		LOC16 = 0;
		LOC16 = toktostr_180323((&(*tok)));
		val = resizeString(val, LOC16->Sup.len + 0);
appendString(val, LOC16);
		conftok_185379(L, tok);
		{
			if (!((*tok).toktype == ((NU8) 96))) goto LA19;
			conftok_185379(L, tok);
		}
		goto LA17;
		LA19: ;
		{
			lexmessage_180483((&(*L)), ((NU16) 23), ((NimStringDesc*) &TMP1889));
		}
		LA17: ;
		val = addChar(val, 93);
	}
	LA14: ;
	LOC22 = 0;
	LOC22 = getident_166463(((NimStringDesc*) &TMP1890));
	percent = ((*(*tok).ident).Sup.id == (*LOC22).Sup.id);
	{
		NIM_BOOL LOC25;
		NimStringDesc* LOC33;
		LOC25 = 0;
		LOC25 = ((*tok).toktype == ((NU8) 107) || (*tok).toktype == ((NU8) 109));
		if (LOC25) goto LA26;
		LOC25 = percent;
		LA26: ;
		if (!LOC25) goto LA27;
		{
			if (!(((NI) 0) < (val ? val->Sup.len : 0))) goto LA31;
			val = addChar(val, 58);
		}
		LA31: ;
		conftok_185379(L, tok);
		checksymbol_185410((&(*L)), (&(*tok)));
		LOC33 = 0;
		LOC33 = toktostr_180323((&(*tok)));
		val = resizeString(val, LOC33->Sup.len + 0);
appendString(val, LOC33);
		conftok_185379(L, tok);
		{
			while (1) {
				NIM_BOOL LOC36;
				Tident166021* LOC38;
				NimStringDesc* LOC39;
				LOC36 = 0;
				LOC36 = !(((*tok).ident == NIM_NIL));
				if (!(LOC36)) goto LA37;
				LOC38 = 0;
				LOC38 = getident_166463(((NimStringDesc*) &TMP1891));
				LOC36 = ((*(*tok).ident).Sup.id == (*LOC38).Sup.id);
//.........这里部分代码省略.........
开发者ID:jlp765,项目名称:csources,代码行数:101,代码来源:compiler_nimconf.c


示例5: N_NIMCALL

N_NIMCALL(void, serve_521254)(TY521256 action) {
	TY521426* HEX3Aenv_521447;
	NimStringDesc* typ;
	nimfr("serve", "service.nim")
	HEX3Aenv_521447 = 0;
	nimln(180, "system.nim");
	HEX3Aenv_521447 = (TY521426*) newObj((&NTI521448), sizeof(TY521426));
	nimln(55, "service.nim");
	typ = getconfigvar_153334(((NimStringDesc*) &TMP10641));
	nimln(56, "service.nim");
	if (eqStrings(typ, ((NimStringDesc*) &TMP10642))) goto LA1;
	if (eqStrings(typ, ((NimStringDesc*) &TMP10643))) goto LA2;
	if (eqStrings(typ, ((NimStringDesc*) &TMP10628))) goto LA2;
	goto LA3;
	LA1: ;
	{
		{
			nimln(58, "service.nim");
			while (1) {
				NimStringDesc* line;
				NimStringDesc* LOC12;
				nimln(59, "service.nim");
				line = readline_13478(stdin);
				nimln(60, "service.nim");
				{
					if (!eqStrings(line, ((NimStringDesc*) &TMP10644))) goto LA10;
					exit(((NI) 0));
				}
				LA10: ;
				nimln(50, "service.nim");
				LOC12 = 0;
				LOC12 = curcaascmd_521204; curcaascmd_521204 = copyStringRC1(line);
				if (LOC12) nimGCunrefNoCycle(LOC12);
				nimln(51, "service.nim");
				processcmdline_521209(((NU8) 1), line);
				nimln(52, "service.nim");
				action();
				nimln(53, "service.nim");
				gerrorcounter_163012 = ((NI) 0);
				nimln(62, "service.nim");
				printf("%s\012", ((NimStringDesc*) &TMP10628)? (((NimStringDesc*) &TMP10628))->data:"nil");
				nimln(63, "service.nim");
				fflush(stdout);
			}
		}
	}
	goto LA4;
	LA2: ;
	{
		Socketimpl513407* server;
		NimStringDesc* p;
		NU16 port;
		NimStringDesc* LOC20;
		NimStringDesc* inp;
		TY163054 LOC21;
		nimln(67, "service.nim");
		server = newsocket_513830(((NU8) 2), ((NU8) 1), ((NU8) 6), NIM_TRUE);
		nimln(68, "service.nim");
		p = getconfigvar_153334(((NimStringDesc*) &TMP10647));
		nimln(69, "service.nim");
		{
			NI LOC18;
			if (!(((NI) 0) < (p ? p->Sup.len : 0))) goto LA16;
			LOC18 = 0;
			LOC18 = nsuParseInt(p);
			port = ((NU16) (LOC18));
		}
		goto LA14;
		LA16: ;
		{
			port = ((NU16) 6000);
		}
		LA14: ;
		nimln(70, "service.nim");
		LOC20 = 0;
		LOC20 = getconfigvar_153334(((NimStringDesc*) &TMP10648));
		bindaddr_514620(server, port, LOC20);
		nimln(71, "service.nim");
		inp = copyString(((NimStringDesc*) &TMP10628));
		nimln(72, "service.nim");
		listen_514610(server, SOMAXCONN);
		nimln(73, "service.nim");
		asgnRefNoCycle((void**) (&(*HEX3Aenv_521447).stdoutsocket521408), newsocket_513830(((NU8) 2), ((NU8) 1), ((NU8) 6), NIM_TRUE));
		nimln(74, "service.nim");
		memset((void*)(&LOC21), 0, sizeof(LOC21));
		LOC21.ClPrc = HEX3Aanonymous_521409; LOC21.ClEnv = HEX3Aenv_521447;
		asgnRef((void**) (&writelnhook_163057.ClEnv), LOC21.ClEnv);
		writelnhook_163057.ClPrc = LOC21.ClPrc;
		{
			nimln(77, "service.nim");
			while (1) {
				NimStringDesc* LOC24;
				nimln(78, "service.nim");
				accept_515401(server, &(*HEX3Aenv_521447).stdoutsocket521408, 2);
				nimln(79, "service.nim");
				readline_517608((*HEX3Aenv_521447).stdoutsocket521408, (&inp), ((NI) -1), 2);
				nimln(50, "service.nim");
				LOC24 = 0;
				LOC24 = curcaascmd_521204; curcaascmd_521204 = copyStringRC1(inp);
				if (LOC24) nimGCunrefNoCycle(LOC24);
//.........这里部分代码省略.........
开发者ID:undecided,项目名称:csources,代码行数:101,代码来源:compiler_service.c


示例6: N_NIMCALL

N_NIMCALL(void, Nimnexttoken_153511)(TY153007* G_153514) {
NI Pos_153521;
NimStringDesc* Id_153709;
NIM_BOOL LOC19;
NIM_BOOL LOC25;
NIM_BOOL LOC26;
NIM_BOOL LOC33;
NIM_BOOL LOC45;
NIM_BOOL LOC51;
NIM_BOOL LOC52;
NIM_BOOL LOC63;
NimStringDesc* LOC67;
NimStringDesc* LOC68;
Pos_153521 = 0;
Pos_153521 = (*G_153514).Pos;
(*G_153514).Start = (*G_153514).Pos;
if (!((*G_153514).State == ((NU8) 10))) goto LA2;
(*G_153514).Kind = ((NU8) 10);
while (1) {
switch (((NU8)((*G_153514).Buf[Pos_153521]))) {
case 92:
(*G_153514).Kind = ((NU8) 13);
Pos_153521 += 1;
switch (((NU8)((*G_153514).Buf[Pos_153521]))) {
case 120:
case 88:
Pos_153521 += 1;
if (!(((NU8)((*G_153514).Buf[Pos_153521])) >= ((NU8)(48)) && ((NU8)((*G_153514).Buf[Pos_153521])) <= ((NU8)(57)) || ((NU8)((*G_153514).Buf[Pos_153521])) >= ((NU8)(65)) && ((NU8)((*G_153514).Buf[Pos_153521])) <= ((NU8)(70)) || ((NU8)((*G_153514).Buf[Pos_153521])) >= ((NU8)(97)) && ((NU8)((*G_153514).Buf[Pos_153521])) <= ((NU8)(102)) || ((NU8)((*G_153514).Buf[Pos_153521])) == ((NU8)(95)))) goto LA6;
Pos_153521 += 1;
LA6: ;
if (!(((NU8)((*G_153514).Buf[Pos_153521])) >= ((NU8)(48)) && ((NU8)((*G_153514).Buf[Pos_153521])) <= ((NU8)(57)) || ((NU8)((*G_153514).Buf[Pos_153521])) >= ((NU8)(65)) && ((NU8)((*G_153514).Buf[Pos_153521])) <= ((NU8)(70)) || ((NU8)((*G_153514).Buf[Pos_153521])) >= ((NU8)(97)) && ((NU8)((*G_153514).Buf[Pos_153521])) <= ((NU8)(102)) || ((NU8)((*G_153514).Buf[Pos_153521])) == ((NU8)(95)))) goto LA9;
Pos_153521 += 1;
LA9: ;
break;
case 48 ... 57:
while (1) {
if (!(((NU8)((*G_153514).Buf[Pos_153521])) >= ((NU8)(48)) && ((NU8)((*G_153514).Buf[Pos_153521])) <= ((NU8)(57)))) goto LA11;
Pos_153521 += 1;
} LA11: ;
break;
case 0:
(*G_153514).State = ((NU8) 1);
break;
default:
Pos_153521 += 1;
break;
}
goto LA4;
break;
case 0:
case 13:
case 10:
(*G_153514).State = ((NU8) 1);
goto LA4;
break;
case 34:
Pos_153521 += 1;
(*G_153514).State = ((NU8) 1);
goto LA4;
break;
default:
Pos_153521 += 1;
break;
}
} LA4: ;
goto LA1;
LA2: ;
switch (((NU8)((*G_153514).Buf[Pos_153521]))) {
case 32:
case 9 ... 13:
(*G_153514).Kind = ((NU8) 2);
while (1) {
if (!(((NU8)((*G_153514).Buf[Pos_153521])) == ((NU8)(32)) || ((NU8)((*G_153514).Buf[Pos_153521])) >= ((NU8)(9)) && ((NU8)((*G_153514).Buf[Pos_153521])) <= ((NU8)(13)))) goto LA12;
Pos_153521 += 1;
} LA12: ;
break;
case 35:
(*G_153514).Kind = ((NU8) 16);
while (1) {
if (!!((((NU8)((*G_153514).Buf[Pos_153521])) == ((NU8)(0)) || ((NU8)((*G_153514).Buf[Pos_153521])) == ((NU8)(10)) || ((NU8)((*G_153514).Buf[Pos_153521])) == ((NU8)(13))))) goto LA13;
Pos_153521 += 1;
} LA13: ;
break;
case 97 ... 122:
case 65 ... 90:
case 95:
case 128 ... 255:
Id_153709 = 0;
Id_153709 = copyString(((NimStringDesc*) &TMP197260));
while (1) {
if (!(((NU8)((*G_153514).Buf[Pos_153521])) >= ((NU8)(48)) && ((NU8)((*G_153514).Buf[Pos_153521])) <= ((NU8)(57)) || ((NU8)((*G_153514).Buf[Pos_153521])) >= ((NU8)(65)) && ((NU8)((*G_153514).Buf[Pos_153521])) <= ((NU8)(90)) || ((NU8)((*G_153514).Buf[Pos_153521])) == ((NU8)(95)) || ((NU8)((*G_153514).Buf[Pos_153521])) >= ((NU8)(97)) && ((NU8)((*G_153514).Buf[Pos_153521])) <= ((NU8)(122)) || ((NU8)((*G_153514).Buf[Pos_153521])) >= ((NU8)(128)) && ((NU8)((*G_153514).Buf[Pos_153521])) <= ((NU8)(248)))) goto LA14;
Id_153709 = addChar(Id_153709, (*G_153514).Buf[Pos_153521]);
Pos_153521 += 1;
} LA14: ;
if (!((NU8)((*G_153514).Buf[Pos_153521]) == (NU8)(34))) goto LA16;
LOC19 = ((NU8)((*G_153514).Buf[(NI64)(Pos_153521 + 1)]) == (NU8)(34));
if (!(LOC19)) goto LA20;
LOC19 = ((NU8)((*G_153514).Buf[(NI64)(Pos_153521 + 2)]) == (NU8)(34));
LA20: ;
if (!LOC19) goto LA21;
//.........这里部分代码省略.........
开发者ID:ddlsmurf,项目名称:Nimrod,代码行数:101,代码来源:highlite.c


示例7: N_NIMCALL

N_NIMCALL(trope144007*, makellvmstring_464684)(NimStringDesc* s) {
    trope144007* result;
    NimStringDesc* res;
    NI i_464702;
    NI HEX3Atmp_464714;
    NI TMP6200;
    NI res_464716;
    trope144007* LOC10;
    nimfr("makeLLVMString", "ccgutils.nim")
    result = 0;
    nimln(166, "ccgutils.nim");
    result = NIM_NIL;
    nimln(167, "ccgutils.nim");
    res = copyString(((NimStringDesc*) &TMP6199));
    i_464702 = 0;
    HEX3Atmp_464714 = 0;
    nimln(168, "ccgutils.nim");
    nimln(168, "ccgutils.nim");
    nimln(168, "ccgutils.nim");
    TMP6200 = subInt(s->Sup.len, 1);
    HEX3Atmp_464714 = (NI64)(TMP6200);
    nimln(1450, "system.nim");
    res_464716 = 0;
    nimln(1451, "system.nim");
    while (1) {
        nimln(1451, "system.nim");
        if (!(res_464716 <= HEX3Atmp_464714)) goto LA1;
        nimln(1450, "system.nim");
        i_464702 = res_464716;
        nimln(169, "ccgutils.nim");
        {
            NI TMP6201;
            NI TMP6202;
            trope144007* LOC6;
            nimln(169, "ccgutils.nim");
            nimln(169, "ccgutils.nim");
            nimln(169, "ccgutils.nim");
            TMP6201 = addInt(i_464702, 1);
            TMP6202 = modInt((NI64)(TMP6201), 64);
            if (!(((NI) ((NI64)(TMP6202))) == 0)) goto LA4;
            nimln(170, "ccgutils.nim");
            nimln(170, "ccgutils.nim");
            LOC6 = 0;
            LOC6 = torope_144058(res);
            app_144040(&result, LOC6);
            nimln(171, "ccgutils.nim");
            res = setLengthStr(res, 0);
        }
LA4:
        ;
        nimln(172, "ccgutils.nim");
        if ((NU)(i_464702) > (NU)(s->Sup.len)) raiseIndexError();
        switch (((NU8)(s->data[i_464702]))) {
        case 0 ... 31:
        case 128 ... 255:
        case 34:
        case 92:
        {
            NimStringDesc* LOC8;
            nimln(174, "ccgutils.nim");
            res = addChar(res, 92);
            nimln(175, "ccgutils.nim");
            nimln(175, "ccgutils.nim");
            nimln(175, "ccgutils.nim");
            if ((NU)(i_464702) > (NU)(s->Sup.len)) raiseIndexError();
            LOC8 = 0;
            LOC8 = nsuToHex(((NI64) (((NU8)(s->data[i_464702])))), 2);
            res = resizeString(res, LOC8->Sup.len + 0);
            appendString(res, LOC8);
        }
        break;
        default:
        {
            nimln(176, "ccgutils.nim");
            if ((NU)(i_464702) > (NU)(s->Sup.len)) raiseIndexError();
            res = addChar(res, s->data[i_464702]);
        }
        break;
        }
        nimln(1453, "system.nim");
        res_464716 = addInt(res_464716, 1);
    }
LA1:
    ;
    nimln(177, "ccgutils.nim");
    res = resizeString(res, 4);
    appendString(res, ((NimStringDesc*) &TMP6203));
    nimln(178, "ccgutils.nim");
    nimln(178, "ccgutils.nim");
    LOC10 = 0;
    LOC10 = torope_144058(res);
    app_144040(&result, LOC10);
    popFrame();
    return result;
}
开发者ID:reactormonk,项目名称:csources,代码行数:95,代码来源:ccgutils.c


示例8: N_NIMCALL

N_NIMCALL(NimStringDesc*, findexe_126616)(NimStringDesc* exe) {
	NimStringDesc* result;
	NimStringDesc* path;
{	result = 0;
	result = nosaddFileExt(exe, ((NimStringDesc*) &TMP136));
	{
		NIM_BOOL LOC3;
		LOC3 = 0;
		LOC3 = nosexistsFile(result);
		if (!LOC3) goto LA4;
		goto BeforeRet;
	}
	LA4: ;
	path = getenv_121644(((NimStringDesc*) &TMP1147));
	{
		NimStringDesc* candidate_126621;
		NI last_126807;
		candidate_126621 = 0;
		last_126807 = ((NI) 0);
		{
			if (!(((NI) 0) < (path ? path->Sup.len : 0))) goto LA9;
			{
				while (1) {
					NI first_126809;
					NimStringDesc* x;
					NimStringDesc* LOC17;
					if (!(last_126807 <= (path ? path->Sup.len : 0))) goto LA12;
					first_126809 = last_126807;
					{
						while (1) {
							NIM_BOOL LOC15;
							LOC15 = 0;
							LOC15 = (last_126807 < (path ? path->Sup.len : 0));
							if (!(LOC15)) goto LA16;
							LOC15 = !(((NU8)(path->data[last_126807]) == (NU8)(58)));
							LA16: ;
							if (!LOC15) goto LA14;
							last_126807 += ((NI) 1);
						} LA14: ;
					}
					candidate_126621 = copyStrLast(path, first_126809, (NI)(last_126807 - ((NI) 1)));
					LOC17 = 0;
					LOC17 = expandtilde_126610(candidate_126621);
					x = HEX2F_118292(LOC17, result);
					{
						NIM_BOOL LOC20;
						LOC20 = 0;
						LOC20 = nosexistsFile(x);
						if (!LOC20) goto LA21;
						result = copyString(x);
						goto BeforeRet;
					}
					LA21: ;
					last_126807 += ((NI) 1);
				} LA12: ;
			}
		}
		LA9: ;
	}
	result = copyString(((NimStringDesc*) &TMP136));
	}BeforeRet: ;
	return result;
}
开发者ID:apense,项目名称:csources,代码行数:63,代码来源:stdlib_os.c


示例9: N_NIMCALL

N_NIMCALL(void, renderrsttorst_295215)(trendercontext295211* d, trstnode295009* n, NimStringDesc** result) {
	NimStringDesc* ind;
	nimfr("renderRstToRst", "rstast.nim")
	nimln(112, "rstast.nim");
	{
		nimln(112, "rstast.nim");
		if (!(n == NIM_NIL)) goto LA3;
		nimln(112, "rstast.nim");
		goto BeforeRet;
	}
	LA3: ;
	nimln(113, "rstast.nim");
	ind = nsuRepeatChar((*d).Indent, 32);
	nimln(114, "rstast.nim");
	switch ((*n).Kind) {
	case ((NU8) 0):
	{
		nimln(116, "rstast.nim");
		renderrstsons_295223(d, n, result);
	}
	break;
	case ((NU8) 1):
	{
		NI oldlen;
		NI headlinelen;
		NI TMP3779;
		NimStringDesc* LOC7;
		nimln(118, "rstast.nim");
		(*result) = resizeString((*result), 1);
appendString((*result), ((NimStringDesc*) &TMP3778));
		nimln(119, "rstast.nim");
		(*result) = resizeString((*result), ind->Sup.len + 0);
appendString((*result), ind);
		nimln(121, "rstast.nim");
		nimln(121, "rstast.nim");
		oldlen = (*result)->Sup.len;
		nimln(122, "rstast.nim");
		renderrstsons_295223(d, n, result);
		nimln(123, "rstast.nim");
		nimln(123, "rstast.nim");
		nimln(123, "rstast.nim");
		TMP3779 = subInt((*result)->Sup.len, oldlen);
		headlinelen = (NI32)(TMP3779);
		nimln(125, "rstast.nim");
		(*result) = resizeString((*result), 1);
appendString((*result), ((NimStringDesc*) &TMP3778));
		nimln(126, "rstast.nim");
		(*result) = resizeString((*result), ind->Sup.len + 0);
appendString((*result), ind);
		nimln(127, "rstast.nim");
		nimln(127, "rstast.nim");
		if ((NU)((*n).Level) > (NU)(8)) raiseIndexError();
		LOC7 = 0;
		LOC7 = nsuRepeatChar(headlinelen, lvltochar_295257[((*n).Level)- 0]);
		(*result) = resizeString((*result), LOC7->Sup.len + 0);
appendString((*result), LOC7);
	}
	break;
	case ((NU8) 2):
	{
		NimStringDesc* headline;
		NimStringDesc* lvl;
		NI TMP3781;
		nimln(129, "rstast.nim");
		(*result) = resizeString((*result), 1);
appendString((*result), ((NimStringDesc*) &TMP3778));
		nimln(130, "rstast.nim");
		(*result) = resizeString((*result), ind->Sup.len + 0);
appendString((*result), ind);
		nimln(132, "rstast.nim");
		headline = copyString(((NimStringDesc*) &TMP3780));
		nimln(133, "rstast.nim");
		renderrstsons_295223(d, n, &headline);
		nimln(135, "rstast.nim");
		nimln(135, "rstast.nim");
		nimln(135, "rstast.nim");
		TMP3781 = subInt(headline->Sup.len, (*d).Indent);
		if ((NU)((*n).Level) > (NU)(8)) raiseIndexError();
		lvl = nsuRepeatChar((NI32)(TMP3781), lvltochar_295257[((*n).Level)- 0]);
		nimln(136, "rstast.nim");
		(*result) = resizeString((*result), lvl->Sup.len + 0);
appendString((*result), lvl);
		nimln(137, "rstast.nim");
		(*result) = resizeString((*result), 1);
appendString((*result), ((NimStringDesc*) &TMP3778));
		nimln(138, "rstast.nim");
		(*result) = resizeString((*result), headline->Sup.len + 0);
appendString((*result), headline);
		nimln(140, "rstast.nim");
		(*result) = resizeString((*result), 1);
appendString((*result), ((NimStringDesc*) &TMP3778));
		nimln(141, "rstast.nim");
		(*result) = resizeString((*result), ind->Sup.len + 0);
appendString((*result), ind);
		nimln(142, "rstast.nim");
		(*result) = resizeString((*result), lvl->Sup.len + 0);
appendString((*result), lvl);
	}
	break;
	case ((NU8) 3):
//.........这里部分代码省略.........
开发者ID:reactormonk,项目名称:csources,代码行数:101,代码来源:docutils_rstast.c


示例10: N_NIMCALL

N_NIMCALL(void, parseassignment_210319)(Tlexer205173* L, Ttoken205169* tok) {
	Tlineinfo182337 info;
	NimStringDesc* s;
	NimStringDesc* val;
	NIM_BOOL percent;
	Tident189012* LOC22;
	{
		NIM_BOOL LOC3;
		Tident189012* LOC4;
		Tident189012* LOC6;
		LOC3 = 0;
		LOC4 = 0;
		LOC4 = getident_189441(((NimStringDesc*) &TMP2044));
		LOC3 = ((*(*tok).ident).Sup.id == (*LOC4).Sup.id);
		if (LOC3) goto LA5;
		LOC6 = 0;
		LOC6 = getident_189441(((NimStringDesc*) &TMP2045));
		LOC3 = ((*(*tok).ident).Sup.id == (*LOC6).Sup.id);
		LA5: ;
		if (!LOC3) goto LA7;
		conftok_210275(L, tok);
	}
	LA7: ;
	info = getlineinfo_205200((&(*L)), (&(*tok)));
	checksymbol_210294((&(*L)), (&(*tok)));
	s = toktostr_205281((&(*tok)));
	conftok_210275(L, tok);
	val = copyString(((NimStringDesc*) &TMP2046));
	{
		while (1) {
			NimStringDesc* LOC11;
			if (!((*tok).toktype == ((NU8) 110))) goto LA10;
			s = addChar(s, 46);
			conftok_210275(L, tok);
			checksymbol_210294((&(*L)), (&(*tok)));
			LOC11 = 0;
			LOC11 = toktostr_205281((&(*tok)));
			s = resizeString(s, LOC11->Sup.len + 0);
appendString(s, LOC11);
			conftok_210275(L, tok);
		} LA10: ;
	}
	{
		NimStringDesc* LOC16;
		if (!((*tok).toktype == ((NU8) 95))) goto LA14;
		conftok_210275(L, tok);
		checksymbol_210294((&(*L)), (&(*tok)));
		LOC16 = 0;
		LOC16 = toktostr_205281((&(*tok)));
		val = resizeString(val, LOC16->Sup.len + 0);
appendString(val, LOC16);
		conftok_210275(L, tok);
		{
			if (!((*tok).toktype == ((NU8) 96))) goto LA19;
			conftok_210275(L, tok);
		}
		goto LA17;
		LA19: ;
		{
			lexmessage_205370((&(*L)), ((NU16) 24), ((NimStringDesc*) &TMP2047));
		}
		LA17: ;
		val = addChar(val, 93);
	}
	LA14: ;
	LOC22 = 0;
	LOC22 = getident_189441(((NimStringDesc*) &TMP2048));
	percent = ((*(*tok).ident).Sup.id == (*LOC22).Sup.id);
	{
		NIM_BOOL LOC25;
		NimStringDesc* LOC33;
		LOC25 = 0;
		LOC25 = ((*tok).toktype == ((NU8) 107) || (*tok).toktype == ((NU8) 109));
		if (LOC25) goto LA26;
		LOC25 = percent;
		LA26: ;
		if (!LOC25) goto LA27;
		{
			if (!(((NI) 0) < (val ? val->Sup.len : 0))) goto LA31;
			val = addChar(val, 58);
		}
		LA31: ;
		conftok_210275(L, tok);
		checksymbol_210294((&(*L)), (&(*tok)));
		LOC33 = 0;
		LOC33 = toktostr_205281((&(*tok)));
		val = resizeString(val, LOC33->Sup.len + 0);
appendString(val, LOC33);
		conftok_210275(L, tok);
		{
			while (1) {
				NIM_BOOL LOC36;
				Tident189012* LOC38;
				NimStringDesc* LOC39;
				LOC36 = 0;
				LOC36 = !(((*tok).ident == NIM_NIL));
				if (!(LOC36)) goto LA37;
				LOC38 = 0;
				LOC38 = getident_189441(((NimStringDesc*) &TMP2049));
				LOC36 = ((*(*tok).ident).Sup.id == (*LOC38).Sup.id);
//.........这里部分代码省略.........
开发者ID:digideskio,项目名称:csources,代码行数:101,代码来源:compiler_nimconf.c


示例11: rdf_GetURL

int
rdf_GetURL (MWContext *cx, int method, Net_GetUrlExitFunc *exit_routine, RDFFile rdfFile)
{
	MozillaEvent_rdf_GetURL		*event;
	URL_Struct      		*urls = NULL;
        char				*url;

#ifdef DEBUG_gagan
        return 0;
#endif

    if (cx == NULL)  return 0;
        if (rdfFile->refreshingp && rdfFile->updateURL) {
          url = rdfFile->updateURL;
        } else {
          url = rdfFile->url;
        }
        if (strcmp(url, gNavCntrUrl) == 0) {
          urls = NET_CreateURLStruct(url,  NET_CACHE_ONLY_RELOAD);
#ifdef NU_CACHE
          if (!CacheManager_Contains(url)) {
#else
          if (NET_IsURLInDiskCache(urls) || NET_IsURLInMemCache(urls)) {
          } else {
#endif
            NET_FreeURLStruct(urls);
            urls = NULL;
          }
        }
	if (!urls) 
          urls = NET_CreateURLStruct(url, (rdfFile->refreshingp ? 
                                           NET_SUPER_RELOAD : NET_NORMAL_RELOAD));
	if (urls == NULL) return 0;
	urls->fe_data = rdfFile;
	if (method) urls->method = method;

	if (PR_CurrentThread() == mozilla_thread)
	{
		htLoadBegins(urls, url);
		NET_GetURL(urls, FO_CACHE_AND_RDF, cx, rdf_GetUrlExitFunc);
	}
	else
	{
		/* send event to Mozilla thread */
		
		if (mozilla_event_queue == NULL)	return(0);
		event = PR_NEW(MozillaEvent_rdf_GetURL);
		if (event == NULL)	return(0);
		PR_InitEvent(&(event->ce.event), cx,
			(PRHandleEventProc)rdf_HandleEvent_GetURL,
			(PRDestroyEventProc)rdf_DisposeEvent_GetURL);
		event->url = copyString(url);
		event->urls = urls;
		event->method = FO_CACHE_AND_RDF;
		event->cx = cx;
		event->exitFunc = rdf_GetUrlExitFunc;
		PR_PostEvent(mozilla_event_queue, &(event->ce.event));
	}
	return 1;
}
#endif /* MOZILLA_CLIENT */



void
possiblyRereadRDFFiles (void* data)
{
	possiblyRefreshRDFFiles();
/*	timerID = FE_SetTimeout(possiblyRereadRDFFiles, NULL, 1000 * 60 * 10); 
	once every 10 minutes
	diabled for legal reasons.*/
}



void
RDFglueInitialize()
{
#ifdef MOZILLA_CLIENT

	timerID = FE_SetTimeout(possiblyRereadRDFFiles, NULL, 1000 * 60 * 10); /* once every 10 minutes */
	if (gRLForbiddenDomains != NULL)
	{
		freeMem(gRLForbiddenDomains);
		gRLForbiddenDomains = NULL;
	}
	if (PREF_CopyCharPref("browser.relatedLinksDisabledForDomains", &gRLForbiddenDomains) != PREF_OK)
	{
		gRLForbiddenDomains = NULL;
	}

#endif /* MOZILLA_CLIENT */
}
开发者ID:binoc-software,项目名称:mozilla-cvs,代码行数:93,代码来源:glue.c


示例12: N_NIMCALL

N_LIB_PRIVATE N_NIMCALL(void, processCmdLine_tw2pZl8Nisz38VPmsT5WZA)(tyEnum_TCmdLinePass_IiBn9cB6WYIMDHOT44O82wA pass, NimStringDesc* cmd) {
	tyObject_OptParser_fe5bDDfRbVwQIuUOouExnA p;
	NI argsCount;
	memset((void*)(&p), 0, sizeof(p));
	p.Sup.m_type = (&NTI_fe5bDDfRbVwQIuUOouExnA_);
	initOptParser_xt25Cv9cQqaNt3Mscl7nHFA(cmd, (&p));
	argsCount = ((NI) 0);
	{
		while (1) {
			nponext((&p));
			switch (p.kind) {
			case ((tyEnum_CmdLineKind_XkdXq9atxjiuhkFFh0XYrSA) 0):
			{
				goto LA1;
			}
			break;
			case ((tyEnum_CmdLineKind_XkdXq9atxjiuhkFFh0XYrSA) 2):
			case ((tyEnum_CmdLineKind_XkdXq9atxjiuhkFFh0XYrSA) 3):
			{
				{
					if (!eqStrings(p.key, ((NimStringDesc*) &TM_AxyNANBXigTKyIcRAbufXw_5))) goto LA7_;
					p.key = copyString(((NimStringDesc*) &TM_AxyNANBXigTKyIcRAbufXw_6));
					{
						NIM_BOOL T11_;
						T11_ = (NIM_BOOL)0;
						T11_ = processArgument_lWiIBVoVYe1MHypeoTZrBw(pass, (&p), (&argsCount));
						if (!T11_) goto LA12_;
						goto LA1;
					}
					LA12_: ;
				}
				goto LA5_;
				LA7_: ;
				{
					processSwitch_TdGOW9ciAVvdBm6nv23Sz9aA(pass, (&p));
				}
				LA5_: ;
			}
			break;
			case ((tyEnum_CmdLineKind_XkdXq9atxjiuhkFFh0XYrSA) 1):
			{
				{
					NIM_BOOL T18_;
					T18_ = (NIM_BOOL)0;
					T18_ = processArgument_lWiIBVoVYe1MHypeoTZrBw(pass, (&p), (&argsCount));
					if (!T18_) goto LA19_;
					goto LA1;
				}
				LA19_: ;
			}
			break;
			}
		}
	} LA1: ;
	{
		if (!(pass == ((tyEnum_TCmdLinePass_IiBn9cB6WYIMDHOT44O82wA) 1))) goto LA23_;
		{
			NIM_BOOL T27_;
			NIM_BOOL T28_;
			NimStringDesc* T31_;
			tyArray_8ZvwQIddfpj2THRVPsFzIQ T34_;
			T27_ = (NIM_BOOL)0;
			T28_ = (NIM_BOOL)0;
			T28_ = !(((gGlobalOptions_j042VVDC9cT5ENYoXnmhhVg &(1U<<((NU)(((tyEnum_TGlobalOption_RAfAEZqjnKMDumgyKKc1qw) 12))&31U)))!=0));
			if (!(T28_)) goto LA29_;
			T28_ = !(((arguments_J4sVmqKDJ3MkfxziRX9cODA) && (arguments_J4sVmqKDJ3MkfxziRX9cODA)->Sup.len == 0));
			LA29_: ;
			T27_ = T28_;
			if (!(T27_)) goto LA30_;
			T31_ = (NimStringDesc*)0;
			T31_ = nsuNormalize(command_zo83h8QWwtDIGDuqkGhjqg);
			T27_ = !(eqStrings(T31_, ((NimStringDesc*) &TM_AxyNANBXigTKyIcRAbufXw_7)));
			LA30_: ;
			if (!T27_) goto LA32_;
			memset((void*)T34_, 0, sizeof(T34_));
			rawMessage_wSQLHRsYvHJ4DSWgdFrFaA(((tyEnum_TMsgKind_IGAWgv9aR2KqPKJfPZPEWaw) 60), T34_, 0);
		}
		LA32_: ;
	}
	LA23_: ;
}
开发者ID:nim-lang,项目名称:csources,代码行数:81,代码来源:compiler_service.c


示例13: log_get_name

/**
 * Method: Log::getName
 */
INV_EXPORT _string
INV_CALL log_get_name(InvHandle self)
{
	return copyString(asLog(self)->getName());
}
开发者ID:HaKDMoDz,项目名称:InVision,代码行数:8,代码来源:cLog.cpp


示例14: testAll

	static void testAll(World &world)
	{
		auto sourceString = reinterpret_cast<const std::uint8_t*>(u8"Hello world everyone!");
		const size_t sourceLength = 21;

		// Create a source bytevector
		alloc::BytevectorRef origBv(world, BytevectorCell::fromData(world, sourceString, sourceLength));

		// Create a direct copy
		alloc::BytevectorRef copyBv(world, origBv->copy(world));
		ASSERT_TRUE(sharedByteArrayFor(origBv) == sharedByteArrayFor(copyBv));

		// Set an byte of the copy
		ASSERT_TRUE(copyBv->setByteAt(0, 4));
		// The sharing should now be broken
		ASSERT_FALSE(sharedByteArrayFor(origBv) == sharedByteArrayFor(copyBv));

		// Create a copy from appending a single bytevector
		alloc::BytevectorRef appendedBv(world, BytevectorCell::fromAppended(world, {origBv}));
		ASSERT_TRUE(sharedByteArrayFor(origBv) == sharedByteArrayFor(appendedBv));

		// Replace part of the byte array
		ASSERT_TRUE(appendedBv->replace(3, origBv, 0, 1));
		// Sharing should now be broken
		ASSERT_FALSE(sharedByteArrayFor(origBv) == sharedByteArrayFor(appendedBv));

		// Create a string from the bytevector
		alloc::StringRef origString(world, origBv->utf8ToString(world));
		ASSERT_TRUE(sharedByteArrayFor(origBv) == sharedByteArrayFor(origString));

		// Create a string as a copy
		alloc::StringRef copyString(world, origString->copy(world));
		ASSERT_TRUE(sharedByteArrayFor(origString) == sharedByteArrayFor(copyString));

		// Set a character in the string
		ASSERT_TRUE(copyString->setCharAt(5, UnicodeChar('!')));
		// Sharing should now be broken
		ASSERT_FALSE(sharedByteArrayFor(origString) == sharedByteArrayFor(copyString));

		// Create a string from appending a single string
		alloc::StringRef appendedString(world, StringCell::fromAppended(world, {origString}));
		ASSERT_TRUE(sharedByteArrayFor(origString) == sharedByteArrayFor(appendedString));

		// Fill the string
		ASSERT_TRUE(appendedString->fill(UnicodeChar(4)));
		// Sharing should now be broken
		ASSERT_FALSE(sharedByteArrayFor(origString) == sharedByteArrayFor(appendedString));

		// Create a symbol from the appended string
		alloc::SymbolRef symbol(world, SymbolCell::fromString(world, appendedString));
		ASSERT_TRUE(sharedByteArrayFor(appendedString) == sharedByteArrayFor(symbol));

		// Writing to the string again should break sharing
		// Symbols are immutable so breaking cannot happen from the symbol side
		appendedString->replace(1, origString, 0, 1);
		ASSERT_FALSE(sharedByteArrayFor(appendedString) == sharedByteArrayFor(symbol));

		//
		// Test a grand tour of string ->  symbol -> string -> bytevector -> string
		//
		
		alloc::StringRef firstString(world, StringCell::fromUtf8StdString(world, u8"Hello world everyone!"));
		alloc::SymbolRef firstSymbol(world, SymbolCell::fromString(world, firstString));
		alloc::StringRef secondString(world, StringCell::fromSymbol(world, firstSymbol));
		alloc::BytevectorRef firstBv(world, secondString->toUtf8Bytevector(world));
		alloc::StringRef thirdString(world, firstBv->utf8ToString(world));

		ASSERT_TRUE(sharedByteArrayFor(firstString) == sharedByteArrayFor(thirdString));
	}
开发者ID:8l,项目名称:llambda,代码行数:69,代码来源:test-implicitsharing.cpp


示例15: N_NIMCALL

N_NIMCALL(NimStringDesc*, nstFormat)(NimStringDesc* f, tstringtable113610* t, NU8 flags) {
    NimStringDesc* result;
    NI i;
    nimfr("%", "strtabs.nim")
    result = 0;
    nimln(194, "strtabs.nim");
    result = copyString(((NimStringDesc*) &TMP297));
    nimln(195, "strtabs.nim");
    i = 0;
    nimln(196, "strtabs.nim");
    while (1) {
        nimln(196, "strtabs.nim");
        nimln(196, "strtabs.nim");
        if (!(i < f->Sup.len)) goto LA1;
        nimln(197, "strtabs.nim");
        {
            NI TMP314;
            nimln(197, "strtabs.nim");
            if ((NU)(i) > (NU)(f->Sup.len)) raiseIndexError();
            if (!((NU8)(f->data[i]) == (NU8)(36))) goto LA4;
            nimln(198, "strtabs.nim");
            nimln(198, "strtabs.nim");
            TMP314 = addInt(i, 1);
            if ((NU)((NI32)(TMP314)) > (NU)(f->Sup.len)) raiseIndexError();
            switch (((NU8)(f->data[(NI32)(TMP314)]))) {
            case 36:
            {
                nimln(200, "strtabs.nim");
                result = addChar(result, 36);
                nimln(201, "strtabs.nim");
                i = addInt(i, 2);
            }
            break;
            case 123:
            {
                NI j;
                NI TMP315;
                NI TMP316;
                NI TMP317;
                NimStringDesc* LOC11;
                NimStringDesc* LOC12;
                NI TMP318;
                nimln(203, "strtabs.nim");
                nimln(203, "strtabs.nim");
                TMP315 = addInt(i, 1);
                j = (NI32)(TMP315);
                nimln(204, "strtabs.nim");
                while (1) {
                    NIM_BOOL LOC9;
                    nimln(204, "strtabs.nim");
                    LOC9 = 0;
                    nimln(204, "strtabs.nim");
                    nimln(204, "strtabs.nim");
                    LOC9 = (j < f->Sup.len);
                    if (!(LOC9)) goto LA10;
                    nimln(698, "system.nim");
                    nimln(698, "system.nim");
                    if ((NU)(j) > (NU)(f->Sup.len)) raiseIndexError();
                    LOC9 = !(((NU8)(f->data[j]) == (NU8)(125)));
LA10:
                    ;
                    if (!LOC9) goto LA8;
                    nimln(204, "strtabs.nim");
                    j = addInt(j, 1);
                }
LA8:
                ;
                nimln(205, "strtabs.nim");
                nimln(205, "strtabs.nim");
                nimln(205, "strtabs.nim");
                nimln(205, "strtabs.nim");
                TMP316 = addInt(i, 2);
                nimln(205, "strtabs.nim");
                TMP317 = subInt(j, 1);
                LOC11 = 0;
                LOC11 = copyStrLast(f, (NI32)(TMP316), (NI32)(TMP317));
                LOC12 = 0;
                LOC12 = getvalue_113975(t, flags, LOC11);
                result = resizeString(result, LOC12->Sup.len + 0);
                appendString(result, LOC12);
                nimln(206, "strtabs.nim");
                nimln(206, "strtabs.nim");
                TMP318 = addInt(j, 1);
                i = (NI32)(TMP318);
            }
            break;
            case 97 ... 122:
            case 65 ... 90:
            case 128 ... 255:
            case 95:
            {
                NI j;
                NI TMP319;
                NI TMP320;
                NI TMP321;
                NimStringDesc* LOC17;
                NimStringDesc* LOC18;
                nimln(208, "strtabs.nim");
                nimln(208, "strtabs.nim");
                TMP319 = addInt(i, 1);
//.........这里部分代码省略.........
开发者ID:rbehrends,项目名称:csources,代码行数:101,代码来源:pure_strtabs.c


示例16: sizeof

bool Model::parseMeshes(FS::IFile& file)
{
	int object_count = 0;
	file.read(&object_count, sizeof(object_count));
	if (object_count <= 0) return false;

	m_meshes.reserve(object_count);
	char model_dir[MAX_PATH_LENGTH];
	PathUtils::getDir(model_dir, MAX_PATH_LENGTH, getPath().c_str());
	for (int i = 0; i < object_count; ++i)
	{
		int32 str_size;
		file.read(&str_size, sizeof(str_size));
		char material_name[MAX_PATH_LENGTH];
		file.read(material_name, str_size);
		if (str_size >= MAX_PATH_LENGTH) return false;

		material_name[str_size] = 0;

		char material_path[MAX_PATH_LENGTH];
		copyString(material_path, model_dir);
		catString(material_path, material_name);
		catString(material_path, ".mat");

		auto* material_manager = m_resource_manager.get(ResourceManager::MATERIAL);
		Material* material = static_cast<Material*>(material_manager->load(Path(material_path)));

		int32 attribute_array_offset = 0;
		file.read(&attribute_array_offset, sizeof(attribute_array_offset));
		int32 attribute_array_size = 0;
		file.read(&attribute_array_size, sizeof(attribute_array_size));
		int32 indices_offset = 0;
		file.re 

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ copyStringRC1函数代码示例发布时间:2022-05-30
下一篇:
C++ copyStrLast函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap