]> diplodocus.org Git - nmh/blobdiff - sbr/dtimep.l
Fix invalid pointer arithmetic.
[nmh] / sbr / dtimep.l
index e9dd815341f6b44512d227d98fbd3d1631a971af..bd36c64aaf7b459d373f579811a0090cbf67d5cf 100644 (file)
@@ -11,6 +11,8 @@
 %a5000
 %{
 #include <h/nmh.h>
+#include <h/mh.h>
+#include <h/utils.h>
 #include <h/tws.h>
 
   /* Since we're looking at a string at a time, don't worry about
 
 #define yyterminate() (void)yy_delete_buffer(lexhandle); \
   if(!(tw.tw_flags & TW_SUCC)) { \
-    return (struct tws *)NULL; \
+    return NULL; \
   } \
   if(tw.tw_year < 1970) \
     tw.tw_year += 1900; \
   if(tw.tw_year < 1970) \
     tw.tw_year += 100; \
-  return(&tw)
+  return &tw
 
 /*
  * Table to convert month names to numeric month.  We use the
@@ -231,7 +233,7 @@ nl      [ \t\n()]
   char *cp;
   static struct tws tw; 
 
-  memset(&tw,0,sizeof(struct tws));
+  ZERO(&tw);
 
   lexhandle = yy_scan_string(lexstr);
 %}