cleanup: Add and use macro MAX().
[cparser] / main.c
diff --git a/main.c b/main.c
index 47e8547..876416a 100644 (file)
--- a/main.c
+++ b/main.c
@@ -46,6 +46,7 @@
 #include <libfirm/be.h>
 #include <libfirm/statev.h>
 
+#include "adt/util.h"
 #include "ast_t.h"
 #include "preprocessor.h"
 #include "token_t.h"
@@ -900,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)
@@ -1202,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");
                }