Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Default is not to use sleep-set to agree with existing tests
[simgrid.git] / tools / cmake / scripts / fixup_simgrid_dtd_l.pl
index 5e2aa77..67f66de 100755 (executable)
@@ -6,13 +6,19 @@ while (<>) {
     next if (m#^ \* Generated [0-9/]* [0-9:]*#);
 
     # Informative error message for files using a very old DTD
-    s#"Bad declaration %s."#"Bad declaration %s.\\nIf your are using a XML v3 file (check the version attribute in <platform>), please update it with tools/simgrid_update_xml.pl"#;
+    s#"Bad declaration %s."#"Bad declaration %s.\\nIf you are using an XML v3 file (check the version attribute in <platform>), please update it with tools/simgrid_update_xml.pl"#;
 
     # Accept the alternative DTD location
     if (/DOCTYPE.*simgrid.org.simgrid.dtd/)  {
-       print ' "<!DOCTYPE"{S}"platform"{S}SYSTEM{S}("\'http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd\'"|"\\"http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd\\""){s}">" SET(ROOT_surfxml_platform);'."\n"; 
+       print ' "<!DOCTYPE"{S}"platform"{S}SYSTEM{S}("\'http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd\'"|"\\"http://simgrid.gforge.inria.fr/simgrid/simgrid.dtd\\""){s}">" SET(ROOT_surfxml_platform);'."\n";
     }
-    
+
+    # Completely rewrite the error handling mechanism to use exceptions instead of printing to stderr
+    if (/fprintf.stderr, .*? flexml_err_msg.;/) {
+       print('    surf_parse_error(flexml_err_msg);'."\n");
+       next;
+    }
+
     # Actually outputs the resulting line
     print;
 }