Exemple #1
0
void GFread(FILE *file,GF2n&m, FUNCTION&ff, GF2n&a,GF2n&b,GF2n&Px,GF2n&Py,GF2n&n,GF2n&Qx,GF2n&Qy)
{
	if(!file)
	{
		printf("error file status\n");
		return;
	}
	int i=0;
	char*input=new char[1000];
	char*left=new char[1000];
	char*right=new char[1000];char*tmp=new char[1000];
	size_t len = 1000;
	while(fgets(input,1000,file))
	{
		input=trimwhitespace(input);
		int pos=getFlagPos(input,'=');
		memset(left,0,1000);
		memset(right,0,1000);
		strncpy(left,input,pos);
		strncpy(right,input+pos+1,strlen(input)-pos-1);
		left=trimwhitespace(left);
		right=trimwhitespace(right);
		if(!strcmp(left,"m"))
			getFromStr(right,m);		
		else if(!strcmp(left,"f"))
		{
			memset(tmp,0,1000);
			strncpy(tmp,right+1,strlen(right)-2);
			int len=0;
			char**result=str_split(tmp,len);
			ff.f=(GF2n*)malloc(sizeof(GF2n)*len);ff.num=len;
			for(int i=0;i<len;i++)
				getFromStr(trimwhitespace(result[i]),ff.f[i]);
		}
		else if(!strcmp(left,"a"))
			getFromStrConvertHexToDec(right,a);
		else if(!strcmp(left,"b"))
			getFromStrConvertHexToDec(right,b);
		else if(!strcmp(left,"P_x"))
			getFromStrConvertHexToDec(right,Px);
		else if(!strcmp(left,"P_y"))
			getFromStrConvertHexToDec(right,Py);
		else if(!strcmp(left,"n"))
			getFromStrConvertHexToDec(right,n);
		else if(!strcmp(left,"Q_x"))
			getFromStrConvertHexToDec(right,Qx);
		else if(!strcmp(left,"Q_y"))
			getFromStrConvertHexToDec(right,Qy);
	}
}
Exemple #2
0
		void refreshUserStats()
		{
			ssvuj::Obj root{getFromStr(currentUserStatsStr)};
			currentUserStats = ssvuj::getExtr<UserStats>(root);
		}