Index: trunk/ppStats/src/ppStatsVersion.c
===================================================================
--- trunk/ppStats/src/ppStatsVersion.c	(revision 23163)
+++ trunk/ppStats/src/ppStatsVersion.c	(revision 23229)
@@ -1,6 +1,4 @@
 #include "ppStatsInternal.h"
 
-psString ppStatsVersion(void)
-{
 #ifndef PPSTATS_VERSION
 #error "PPSTATS_VERSION is not set"
@@ -9,13 +7,21 @@
 #error "PPSTATS_BRANCH is not set"
 #endif
-    return psStringCopy(PPSTATS_BRANCH "@" PPSTATS_VERSION);
+#ifndef PPSTATS_SOURCE
+#error "PPSTATS_SOURCE is not set"
+#endif
+
+#define xstr(s) str(s)
+#define str(s) #s
+
+psString ppStatsVersion(void)
+{
+    char *value = NULL;
+    psStringAppend(&value, "%s@%s", xstr(PPSTATS_BRANCH), xstr(PPSTATS_VERSION));
+    return value;
 }
 
 psString ppStatsSource(void)
 {
-#ifndef PPSTATS_SOURCE
-#error "PPSTATS_SOURCE is not set"
-#endif
-    return psStringCopy(PPSTATS_SOURCE);
+    return psStringCopy(xstr(PPSTATS_SOURCE));
 }
 
