improve handling of nonstandard fields in struct tm

defining tm_gmtoff and tm_zone as macros was breaking some application
code that used these names for its own purposes.
diff --git a/include/time.h b/include/time.h
index aa4efff..09a65cf 100644
--- a/include/time.h
+++ b/include/time.h
@@ -25,6 +25,11 @@
 
 #include <bits/alltypes.h>
 
+#if defined(_BSD_SOURCE) || defined(_GNU_SOURCE)
+#define __tm_gmtoff tm_gmtoff
+#define __tm_zone tm_zone
+#endif
+
 struct tm
 {
 	int tm_sec;
@@ -39,10 +44,6 @@
 	long __tm_gmtoff;
 	const char *__tm_zone;
 };
-#if defined(_BSD_SOURCE) || defined(_GNU_SOURCE)
-#define tm_gmtoff __tm_gmtoff
-#define tm_zone __tm_zone
-#endif
 
 clock_t clock (void);
 time_t time (time_t *);