Type safety and variable initialization in ASN.1 generated code
This commit is contained in:
		| @@ -288,8 +288,8 @@ encode_type (const char *name, const Type *t, const char *tmpstr) | ||||
| 	fprintf(codefile, | ||||
| 		"{\n" | ||||
| 		"struct heim_octet_string *val;\n" | ||||
| 		"size_t elen, totallen = 0;\n" | ||||
| 		"int eret;\n"); | ||||
| 		"size_t elen = 0, totallen = 0;\n" | ||||
| 		"int eret = 0;\n"); | ||||
|  | ||||
| 	fprintf(codefile, | ||||
| 		"if ((%s)->len > UINT_MAX/sizeof(val[0]))\n" | ||||
| @@ -535,8 +535,8 @@ generate_type_encode (const Symbol *s) | ||||
|     case TChoice: | ||||
| 	fprintf (codefile, | ||||
| 		 "size_t ret = 0;\n" | ||||
| 		 "size_t l;\n" | ||||
| 		 "int i, e;\n\n"); | ||||
| 		 "size_t l, i;\n" | ||||
| 		 "int e;\n\n"); | ||||
| 	fprintf(codefile, "i = 0;\n"); /* hack to avoid `unused variable' */ | ||||
|  | ||||
| 	encode_type("data", s->type, "Top"); | ||||
|   | ||||
| @@ -187,13 +187,13 @@ length_type (const char *name, const Type *t, | ||||
|  | ||||
| 	fprintf (codefile, | ||||
| 		 "{\n" | ||||
| 		 "int %s_oldret = %s;\n" | ||||
| 		 "size_t %s_oldret = %s;\n" | ||||
| 		 "int i;\n" | ||||
| 		 "%s = 0;\n", | ||||
| 		 tmpstr, variable, variable); | ||||
|  | ||||
| 	fprintf (codefile, "for(i = (%s)->len - 1; i >= 0; --i){\n", name); | ||||
| 	fprintf (codefile, "int %s_for_oldret = %s;\n" | ||||
| 	fprintf (codefile, "size_t %s_for_oldret = %s;\n" | ||||
| 		 "%s = 0;\n", tmpstr, variable, variable); | ||||
| 	if (asprintf (&n, "&(%s)->val[i]", name) < 0  || n == NULL) | ||||
| 	    errx(1, "malloc"); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Asanka Herath
					Asanka Herath