X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=main.c;h=876416a07715756df9b65ca5b9d21c929b5ee376;hb=779610287a11b207e958e31a29f0dd9ea5459e39;hp=06d99a8297991454b280908527e86dd7fb9a16ad;hpb=f47fe2aff08d4907f17b5c6ea0c4b3becfb32584;p=cparser diff --git a/main.c b/main.c index 06d99a8..876416a 100644 --- a/main.c +++ b/main.c @@ -46,6 +46,8 @@ #include #include +#include "adt/util.h" +#include "ast_t.h" #include "preprocessor.h" #include "token_t.h" #include "types.h" @@ -61,6 +63,7 @@ #include "adt/error.h" #include "adt/strutil.h" #include "adt/array.h" +#include "symbol_table.h" #include "wrappergen/write_fluffy.h" #include "wrappergen/write_jna.h" #include "wrappergen/write_compoundsizes.h" @@ -898,9 +901,7 @@ static unsigned decide_modulo_shift(unsigned type_size) { if (architecture_modulo_shift == 0) return 0; - if (type_size < architecture_modulo_shift) - return architecture_modulo_shift; - return type_size; + return MAX(type_size, architecture_modulo_shift); } static bool is_ia32_cpu(const char *architecture) @@ -1200,8 +1201,10 @@ static void copy_file(FILE *dest, FILE *input) { char buf[16384]; - while (!feof(input) && !ferror(dest)) { + for (;;) { size_t read = fread(buf, 1, sizeof(buf), input); + if (read == 0) + break; if (fwrite(buf, 1, read, dest) != read) { perror("could not write output"); }