#endif
#define Return(x) return x;
-#if defined(VMS) && !defined(strdup)
+#if defined(VMS) && ( __VMS_VER < 70000000 )
#define strdup(s) (strcpy((char *)malloc(strlen(s)+1), s));
#endif
if ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
YY_FATAL_ERROR( "read() in flex scanner failed" );
#else
-# undef unput
+# ifndef unput
+# undef unput
+# endif
# define unput(_c) my_unput(_c)
#endif