Index: trunk/psphot/src/psphotVersion.c
===================================================================
--- trunk/psphot/src/psphotVersion.c	(revision 23195)
+++ trunk/psphot/src/psphotVersion.c	(revision 23229)
@@ -5,6 +5,4 @@
 #endif
 
-psString psphotVersion(void)
-{
 #ifndef PSPHOT_VERSION
 #error "PSPHOT_VERSION is not set"
@@ -13,13 +11,21 @@
 #error "PSPHOT_BRANCH is not set"
 #endif
-    return psStringCopy(PSPHOT_BRANCH "@" PSPHOT_VERSION);
+#ifndef PSPHOT_SOURCE
+#error "PSPHOT_SOURCE is not set"
+#endif
+
+#define xstr(s) str(s)
+#define str(s) #s
+
+psString psphotVersion(void)
+{
+    char *value = NULL;
+    psStringAppend(&value, "%s@%s", xstr(PSPHOT_BRANCH), xstr(PSPHOT_VERSION));
+    return value;
 }
 
 psString psphotSource(void)
 {
-#ifndef PSPHOT_SOURCE
-#error "PSPHOT_SOURCE is not set"
-#endif
-    return psStringCopy(PSPHOT_SOURCE);
+    return psStringCopy(xstr(PSPHOT_SOURCE));
 }
 
