diff --git a/src/cpp.c b/src/cpp.c
index 76c01e2fbfda126d631d82add75c4e4091df0ada..f333e800972f4d22c660567104c11e2e861e912e 100644
--- a/src/cpp.c
+++ b/src/cpp.c
@@ -260,10 +260,10 @@ static void simple_add_define(struct cpp *this,
   } while(0)
 
 #define SKIPWHITE() do {					\
-    if(!isspace(((unsigned char *)data)[pos])) break;				\
+    if(!isspace(((unsigned char *)data)[pos])) break;		\
     if(data[pos]=='\n') { PUTNL(); this->current_line++; }	\
     pos++;							\
-  } while(0)
+  } while(1)
 
 #define SKIPSPACE() \
   do { while(isspace(((unsigned char *)data)[pos]) && data[pos]!='\n') pos++; \