diff options
author | Chris Liddell <chris.liddell@artifex.com> | 2020-08-11 14:41:28 +0100 |
---|---|---|
committer | Chris Liddell <chris.liddell@artifex.com> | 2020-08-18 10:16:33 +0100 |
commit | 0e98e2a27ed19fcc138215afe17ab1a173aeed7b (patch) | |
tree | c6129fd23dcac9ab48e410fe2d0b5c087b7c58bd | |
parent | 7cfa8d364797aed267285124a32b5cc5e1cd4794 (diff) | |
download | ghostpdl-0e98e2a27ed19fcc138215afe17ab1a173aeed7b.tar.gz |
Add patch version to version number
This makes it easier to issue patch releases for security problems.
-rw-r--r-- | Resource/Init/gs_init.ps | 8 | ||||
-rw-r--r-- | base/gsmisc.c | 12 | ||||
-rw-r--r-- | base/version.mak | 9 | ||||
-rw-r--r-- | devices/gdevtifs.c | 8 |
4 files changed, 22 insertions, 15 deletions
diff --git a/Resource/Init/gs_init.ps b/Resource/Init/gs_init.ps index 9a464cb89..849e24ef1 100644 --- a/Resource/Init/gs_init.ps +++ b/Resource/Init/gs_init.ps @@ -34,7 +34,7 @@ % Interpreter library version number % NOTE: the interpreter code requires that the first non-comment token % in this file be an integer, and that it match the compiled-in version! -953 +9530 % Check the interpreter revision. dup revision ne @@ -276,9 +276,9 @@ userdict /=string 256 string put (\)\n) revisiondate 10 mod revisiondate 10 idiv 10 mod (-) revisiondate 100 idiv 10 mod revisiondate 1000 idiv 10 mod (-) revisiondate 10000 idiv ( \() - revision 10 mod - revision 100 mod 10 idiv (.) - revision 100 idiv ( ) + revision 10 mod (.) + revision 1000 mod 10 idiv (.) + revision 1000 idiv ( ) product counttomark { (%stdout) (w) file exch 0 .writecvp diff --git a/base/gsmisc.c b/base/gsmisc.c index 766a22e18..661cbc9ae 100644 --- a/base/gsmisc.c +++ b/base/gsmisc.c @@ -228,9 +228,11 @@ printf_program_ident(const gs_memory_t *mem, const char *program_name, long revi if (program_name) outprintf(mem, (revision_number ? "%s " : "%s"), program_name); if (revision_number) { - int fpart = revision_number % 100; + int major = (int)(revision_number / 1000); + int minor = (int)(revision_number - (major * 1000)) / 10; + int patch = revision_number % 10; - outprintf(mem, "%d.%02d", (int)(revision_number / 100), fpart); + outprintf(mem, "%d.%02d.%d", major, minor, patch); } } void @@ -241,9 +243,11 @@ emprintf_program_ident(const gs_memory_t *mem, if (program_name) { epfm(mem, (revision_number ? "%s " : "%s"), program_name); if (revision_number) { - int fpart = revision_number % 100; + int major = (int)(revision_number / 1000); + int minor = (int)(revision_number - (major * 1000)) / 10; + int patch = revision_number % 10; - epfm(mem, "%d.%02d", (int)(revision_number / 100), fpart); + epfm(mem, "%d.%02d.%d", major, minor, patch); } epfm(mem, ": "); } diff --git a/base/version.mak b/base/version.mak index 84e563b76..3f31f1859 100644 --- a/base/version.mak +++ b/base/version.mak @@ -12,14 +12,13 @@ # # Makefile fragment containing the current revision identification. -# Major and minor version numbers. -# MINOR0 is different from MINOR only if MINOR is a single digit. +# Major, minor and patch version numbers. GS_VERSION_MAJOR=9 GS_VERSION_MINOR=53 -GS_VERSION_MINOR0=53 +GS_VERSION_PATCH=0 # Revision date: year x 10000 + month x 100 + day. GS_REVISIONDATE=20200319 # Derived values -GS_VERSION=$(GS_VERSION_MAJOR)$(GS_VERSION_MINOR0) -GS_DOT_VERSION=$(GS_VERSION_MAJOR).$(GS_VERSION_MINOR0) +GS_VERSION=$(GS_VERSION_MAJOR)$(GS_VERSION_MINOR)$(GS_VERSION_PATCH) +GS_DOT_VERSION=$(GS_VERSION_MAJOR).$(GS_VERSION_MINOR).$(GS_VERSION_PATCH) GS_REVISION=$(GS_VERSION) diff --git a/devices/gdevtifs.c b/devices/gdevtifs.c index 88cadd746..4ecafa8b0 100644 --- a/devices/gdevtifs.c +++ b/devices/gdevtifs.c @@ -390,13 +390,17 @@ int tiff_set_fields_for_printer(gx_device_printer *pdev, TIFFSetField(tif, TIFFTAG_YRESOLUTION, (float)ypi); { - char revs[10]; + char revs[32]; #define maxSoftware 40 char softwareValue[maxSoftware]; + int revision = gs_revision_number(); + int major = (int)(revision / 1000); + int minor = (int)(revision - (major * 1000)) / 10; + int patch = revision % 10; strncpy(softwareValue, gs_product, maxSoftware); softwareValue[maxSoftware - 1] = 0; - gs_sprintf(revs, " %1.2f", gs_revision / 100.0); + gs_sprintf(revs, " %d.%2d.%d", major, minor, patch); strncat(softwareValue, revs, maxSoftware - strlen(softwareValue) - 1); |