Replace *printf "%d.%d.%d", PERL_REVISION, PERL_VERSION, PERL_SUBVERSION
Nicholas Clark [Mon, 16 Feb 2009 21:16:21 +0000 (21:16 +0000)]
with PERL_VERSION_STRING, which can be determined at compile time, as a
constant string.

patchlevel.h
perl.c

index 885643f..207c492 100644 (file)
 #define PERL_VERSION   11              /* epoch */
 #define PERL_SUBVERSION        0               /* generation */
 
+#define PERL_VERSION_STRING    STRINGIFY(PERL_REVISION) "." \
+                               STRINGIFY(PERL_VERSION) "." \
+                               STRINGIFY(PERL_SUBVERSION)
+
 /* The following numbers describe the earliest compatible version of
    Perl ("compatibility" here being defined as sufficient binary/API
    compatibility to run XS code built with the older version).
diff --git a/perl.c b/perl.c
index a56ab03..76cee05 100644 (file)
--- a/perl.c
+++ b/perl.c
@@ -347,8 +347,7 @@ perl_construct(pTHXx)
 
     PL_stashcache = newHV();
 
-    PL_patchlevel = Perl_newSVpvf(aTHX_ "v%d.%d.%d", (int)PERL_REVISION,
-                                 (int)PERL_VERSION, (int)PERL_SUBVERSION);
+    PL_patchlevel = newSVpvs("v" PERL_VERSION_STRING);
 
 #ifdef HAS_MMAP
     if (!PL_mmap_page_size) {