You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// Should now support anything from ;;FSO 3;; to ;;FSO 3.7.3.20151106;; -MageKing17
1793
1794
if (strnicmp(line_start, ";;FSO ", 6))
1794
1795
returnfalse;
1795
1796
1796
-
int major, minor, build, num_len;
1797
-
constchar *ch;
1797
+
int major, minor, build, revis;
1798
+
int s_num = scan_fso_version_string(line_start, &major, &minor, &build, &revis);
1798
1799
1799
-
ch = line_start + 6;
1800
-
if (!get_number_before_separator(major, num_len, ch, '.'))
1800
+
if (s_num == 0)
1801
1801
returnfalse;
1802
1802
1803
-
ch += (num_len + 1);
1804
-
if (!get_number_before_separator(minor, num_len, ch, '.'))
1805
-
returnfalse;
1806
-
1807
-
ch += (num_len + 1);
1808
-
if (!get_number_before_separator(build, num_len, ch, ';'))
1809
-
returnfalse;
1810
-
1811
-
ch += (num_len + 1);
1812
-
if (*ch != ';')
1813
-
returnfalse;
1803
+
// hack for releases
1804
+
if (s_num == 4 && FS_VERSION_REVIS < 1000) {
1805
+
s_num = 3;
1806
+
}
1814
1807
1808
+
constchar *ch = line_start + 6;
1809
+
while ((*ch) != ';') {
1810
+
Assertion((*ch) != '\0', "String that was already guaranteed to end with semicolons did not end with semicolons; it's possible we have fallen into an alternate universe. Failing string: [%s]\n", line_start);
1811
+
ch++;
1812
+
}
1813
+
ch++;
1814
+
Assertion((*ch) == ';', "String that was guaranteed to have double semicolons did not; it's possible we have fallen into an alternate universe. Failing string: [%s]\n", line_start);
0 commit comments