one definition of json_object_object_foreach only works on c99 and later
diff --git a/json_object.h b/json_object.h
index 7085d0a..6270309 100644
--- a/json_object.h
+++ b/json_object.h
@@ -309,7 +309,7 @@
  * @param val the local name for the json_object* object variable defined in
  *            the body
  */
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
+#if defined(__GNUC__) && !defined(__STRICT_ANSI__) && __STDC_VERSION__ >= 199901L
 
 # define json_object_object_foreach(obj,key,val) \
 	char *key; \
@@ -337,7 +337,7 @@
 			entry ## key) : 0); \
 		entry ## key = entry_next ## key)
 
-#endif /* defined(__GNUC__) && !defined(__STRICT_ANSI__) */
+#endif /* defined(__GNUC__) && !defined(__STRICT_ANSI__) && __STDC_VERSION__ >= 199901L */
 
 /** Iterate through all keys and values of an object (ANSI C Safe)
  * @param obj the json_object instance