]> git.draconx.ca Git - gob-dx.git/blobdiff - src/lexer.l
Release 1.0.9
[gob-dx.git] / src / lexer.l
index f45fcc5bc384f246e709a019bbce5d238921936f..95cbf52c0fd83b61bf479d9e44fb8cb69796d99c 100644 (file)
@@ -344,22 +344,41 @@ class             {
 ^[ \t]*requires[ \t]+[0-9]+\.[0-9]+\.[0-9]+[\t ]*$     {
                        int maj = 0,min = 0,pl = 0;
                        int rmaj = 0,rmin = 0,rpl = 0;
+                       int effective_maj = 0;
+                       int effective_rmaj = 0;
                        char *p;
                        
                        sscanf(VERSION,"%d.%d.%d",&rmaj,&rmin,&rpl);
+                       effective_rmaj = rmaj;
+                       if (rmin >= 90)
+                               effective_rmaj = rmaj + 1;
+
                        p = strchr(yytext,'r');
                        g_assert(p); /* we MUST have found it */
                        sscanf(p,"requires %d.%d.%d",&maj,&min,&pl);
+                       effective_maj = maj;
+                       if (min >= 90)
+                               effective_maj = maj + 1;
+
                        if(rmaj < maj ||
                           (rmaj == maj && rmin < min) ||
                           (rmaj == maj && rmin == min && rpl < pl)) {
                                error_printf(GOB_ERROR, line_no,
-                                            "GOB version %d.%d.%d required "
+                                            "GOB version at least %d.%d.%d required "
                                             "(this is %s)\n"
                                             "To upgrade your gob, see: "
                                             "http://www.5z.com/jirka/gob.html",
                                             maj, min, pl, VERSION);
                        }
+
+                       if(effective_rmaj != effective_maj) {
+                               error_printf(GOB_ERROR, line_no,
+                                            "GOB major version %d required "
+                                            "(this is %s)\n"
+                                            "To upgrade your gob, see: "
+                                            "http://www.5z.com/jirka/gob.html",
+                                            maj, VERSION);
+                       }
                }
 
 <CLASS_CODE,CLASS_CODE_I>class|this    {