this fixes the issue in http://developer.wz2100.net/ticket/3765
Code: Select all
{{{
src/version.cpp | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/src/version.cpp b/src/version.cpp
index a246fdf..679ad17 100644
--- a/src/version.cpp
+++ b/src/version.cpp
@@ -27,8 +27,11 @@
#include "src/autorevision.h"
-static const char vcs_date_cstr[] = VCS_DATE;
-static const char vcs_branch_cstr[] = VCS_BRANCH;
+#define EXPAND(token) #token
+#define QUOTE(token) EXPAND(token)
+
+static const char vcs_date_cstr[] = QUOTE(VCS_DATE);
+static const char vcs_branch_cstr[] = QUOTE(VCS_BRANCH);
unsigned int version_getRevision()
{
@@ -47,23 +50,23 @@ const char* version_getVersionString()
}
else if (strcmp(vcs_branch_cstr, "trunk") == 0)
{
- version_string = "TRUNK " VCS_SHORT_HASH;
+ version_string = "TRUNK " QUOTE(VCS_SHORT_HASH);
}
else if (strncmp(vcs_branch_cstr, "branches/", strlen("branches/")) == 0)
{
- version_string = (VCS_BRANCH " branch " VCS_SHORT_HASH) + strlen("branches/");
+ version_string = (QUOTE(VCS_BRANCH) " branch " QUOTE(VCS_SHORT_HASH)) + strlen("branches/");
}
else if (strncmp(vcs_branch_cstr, "refs/heads/", strlen("refs/heads/")) == 0)
{
- version_string = (VCS_BRANCH " branch " VCS_SHORT_HASH) + strlen("refs/heads/");
+ version_string = (QUOTE(VCS_BRANCH) " branch " QUOTE(VCS_SHORT_HASH)) + strlen("refs/heads/");
}
else if (VCS_NUM != 0)
{
- version_string = VCS_BRANCH " " VCS_SHORT_HASH;
+ version_string = QUOTE(VCS_BRANCH) " " QUOTE(VCS_SHORT_HASH);
}
else
{
- version_string = VCS_SHORT_HASH;
+ version_string = QUOTE(VCS_SHORT_HASH);
}
}
@@ -106,7 +109,7 @@ const char* version_getVcsTime()
#if (VCS_NUM == 0)
return "";
#else
- return VCS_DATE + sizeof(VCS_DATE) - 8 - 1;
+ return QUOTE(VCS_DATE) + sizeof(QUOTE(VCS_DATE)) - 8 - 1;
#endif
}
}}}
