Change moon_version() to use a constant expression
This commit is contained in:
parent
1c1aa96293
commit
590740e72a
@ -4,37 +4,36 @@
|
||||
#define STRINGIZE(x) #x
|
||||
#define STRINGIZE_VALUE_OF(x) STRINGIZE(x)
|
||||
|
||||
#ifndef MOON_MAJOR
|
||||
#define MOON_MAJOR 0
|
||||
#endif
|
||||
|
||||
#ifndef MOON_MINOR
|
||||
#define MOON_MINOR 3
|
||||
#endif
|
||||
|
||||
#ifndef _MOON_SUFFIX
|
||||
#define MOON_SUFFIX ""
|
||||
#else
|
||||
#define MOON_SUFFIX STRINGIZE_VALUE_OF(_MOON_SUFFIX);
|
||||
#endif
|
||||
|
||||
int __moon_version_major()
|
||||
{
|
||||
#ifndef MOON_MAJOR
|
||||
return 0;
|
||||
#else
|
||||
return MOON_MAJOR;
|
||||
#endif
|
||||
}
|
||||
|
||||
int __moon_version_minor()
|
||||
{
|
||||
#ifndef MOON_MINOR
|
||||
return 3;
|
||||
#else
|
||||
return MOON_MINOR;
|
||||
#endif
|
||||
}
|
||||
|
||||
const char* __moon_version_suffix()
|
||||
{
|
||||
#ifndef _MOON_SUFFIX
|
||||
return "";
|
||||
#else
|
||||
return STRINGIZE_VALUE_OF(_MOON_SUFFIX);
|
||||
#endif
|
||||
return MOON_SUFFIX;
|
||||
}
|
||||
|
||||
const char* moon_version()
|
||||
{
|
||||
static char version[64];
|
||||
snprintf(version, sizeof(version), "%d.%d%s", __moon_version_major(), __moon_version_minor(),
|
||||
__moon_version_suffix()); // FIXME: this string is constant each build and should only be calculated once
|
||||
return version;
|
||||
return STRINGIZE_VALUE_OF(MOON_MAJOR) "." STRINGIZE_VALUE_OF(MOON_MINOR) MOON_SUFFIX;
|
||||
}
|
Loading…
Reference in New Issue
Block a user