--- groff-1.15.orig/libgroff/Makefile.sub +++ groff-1.15/libgroff/Makefile.sub @@ -13,3 +13,5 @@ version.cc: $(srcdir)/../VERSION @echo Making version.cc @echo const char \*version_string = \"`cat $(srcdir)/../VERSION`\"\; >$@ + @test -s $(srcdir)/../REVISION || echo 0 >$(srcdir)/../REVISION + @echo const char \*revision_string = \"`cat $(srcdir)/../REVISION`\"\; >>$@ --- groff-1.15.orig/grops/psrm.cc +++ groff-1.15/grops/psrm.cc @@ -51,6 +51,29 @@ const int NRESOURCES = sizeof(resource_table)/sizeof(resource_table[0]); +static int read_uint_arg(const char **pp, unsigned *res) +{ + while (white_space(**pp)) + *pp += 1; + if (**pp == '\0') { + error("missing argument"); + return 0; + } + const char *start = *pp; + // XXX use strtoul + long n = strtol(start, (char **)pp, 10); + if (n == 0 && *pp == start) { + error("not an integer"); + return 0; + } + if (n < 0) { + error("argument must not be negative"); + return 0; + } + *res = unsigned(n); + return 1; +} + struct resource { resource *next; resource_type type; @@ -101,9 +124,13 @@ read_download_file(); string procset_name("grops"); extern const char *version_string; + extern const char *revision_string; + unsigned revision_uint; + if ( !read_uint_arg( &revision_string, &revision_uint) ) + revision_uint = 0; string procset_version(version_string); procset_resource = lookup_resource(RESOURCE_PROCSET, procset_name, - procset_version, 0); + procset_version, revision_uint); procset_resource->flags |= resource::SUPPLIED; } @@ -447,29 +474,6 @@ res += **pp; *pp += 1; } - return 1; -} - -static int read_uint_arg(const char **pp, unsigned *res) -{ - while (white_space(**pp)) - *pp += 1; - if (**pp == '\0') { - error("missing argument"); - return 0; - } - const char *start = *pp; - // XXX use strtoul - long n = strtol(start, (char **)pp, 10); - if (n == 0 && *pp == start) { - error("not an integer"); - return 0; - } - if (n < 0) { - error("argument must not be negative"); - return 0; - } - *res = unsigned(n); return 1; } --- groff-1.15.orig/REVISION +++ groff-1.15/REVISION @@ -0,0 +1 @@ +1