need a swap!

SVN revision: 9457
This commit is contained in:
Carsten Haitzler 2004-03-25 03:05:27 +00:00
parent eefce8aa05
commit f14640499b
2 changed files with 11 additions and 1 deletions

View File

@ -1145,7 +1145,7 @@ static char *skipstring(char *string)
} /* while */
endquote=*string;
assert(endquote=='"' || endquote=='\'');
assert(endquote=='\"' || endquote=='\'');
string++; /* skip open quote */
while (*string!=endquote && *string!='\0')
litchar(&string,rawstring);

View File

@ -132,6 +132,7 @@ _embryo_program_init(Embryo_Program *ep, void *code)
embryo_swap_32((unsigned int *)&hdr->libraries);
embryo_swap_32((unsigned int *)&hdr->pubvars);
embryo_swap_32((unsigned int *)&hdr->tags);
embryo_swap_32((unsigned int *)&hdr->nametable);
#endif
if (hdr->magic != EMBRYO_MAGIC) return 0;
@ -230,6 +231,7 @@ Embryo_Program *
embryo_program_load(char *file)
{
Embryo_Program *ep;
Embryo_Header hdr;
FILE *f;
void *program = NULL;
int program_size = 0;
@ -244,6 +246,14 @@ embryo_program_load(char *file)
fclose(f);
return NULL;
}
if (fread(&hdr, sizeof(Embryo_Header), 1, f) != 1)
{
fclose(f);
return NULL;
}
rewind(f);
embryo_swap_32((unsigned int *)(&hdr.size));
if (hdr.size < program_size) program_size = hdr.size;
program = malloc(program_size);
if (!program)
{