diff options
Diffstat (limited to 'dviware/dvisvgm/src/Ghostscript.cpp')
-rw-r--r-- | dviware/dvisvgm/src/Ghostscript.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/dviware/dvisvgm/src/Ghostscript.cpp b/dviware/dvisvgm/src/Ghostscript.cpp index 1ff82314ec..11ea79fc1a 100644 --- a/dviware/dvisvgm/src/Ghostscript.cpp +++ b/dviware/dvisvgm/src/Ghostscript.cpp @@ -239,10 +239,18 @@ int Ghostscript::revision () { string Ghostscript::revisionstr () { string revstr; if (int rev = revision()) { - revstr = to_string(rev/100) + "."; - if (rev % 100 < 10) - revstr += "0"; - revstr += to_string(rev%100); + if (rev < 1000) { // until GS 9.52 + revstr = to_string(rev/100) + "."; + if (rev % 100 < 10) + revstr += "0"; + revstr += to_string(rev%100); + } + else { // as of GS 9.52.1, see ghostpdl/base/gsmisc.c + int major = rev / 1000; + int minor = (rev - major*1000)/10; + int patch = rev % 10; + revstr = to_string(major) + "." + to_string(minor) + "." + to_string(patch); + } } return revstr; } |