- framework_environment.nts.version = getenv(ENV_VAR_NTS_BUILD_VERSION) ? strdup(getenv(ENV_VAR_NTS_BUILD_VERSION)) : strdup("N/A");
- framework_environment.nts.build_time = getenv(ENV_VAR_NTS_BUILD_TIME) ? strdup(getenv(ENV_VAR_NTS_BUILD_TIME)) : strdup("N/A");
+ framework_environment.nts.version = (getenv(ENV_VAR_NTS_BUILD_VERSION) && strlen(getenv(ENV_VAR_NTS_BUILD_VERSION))) ? strdup(getenv(ENV_VAR_NTS_BUILD_VERSION)) : strdup(NTS_VERSION_FALLBACK"!");
+ if(getenv(ENV_VAR_NTS_BUILD_TIME) && strlen(getenv(ENV_VAR_NTS_BUILD_TIME))) {
+ framework_environment.nts.build_time = strdup(getenv(ENV_VAR_NTS_BUILD_TIME));
+ }
+ else {
+ if(__DATE__[0] == '?') {
+ framework_environment.nts.build_time = strdup("1970-01-01T00:00:00Z");
+ }
+ else {
+ //01234567890
+ //May 4 2021
+ int year = 0;
+ int month = 1;
+ int day = 0;
+
+ year = (__DATE__[10] - '0') + (__DATE__[9] - '0')*10 + (__DATE__[8] - '0')*100 + (__DATE__[7] - '0')*1000;
+ day = (__DATE__[5] - '0');
+ if(__DATE__[4] != ' ') {
+ day += (__DATE__[4] - '0')*10;
+ }
+
+ switch(__DATE__[0]) {
+ case 'J':
+ switch(__DATE__[1]) {
+ case 'a':
+ month = 1;
+ break;
+
+ case 'u':
+ if(__DATE__[2] == 'n') {
+ month = 6;
+ }
+ else {
+ month = 7;
+ }
+ break;
+ }
+ break;
+
+ case 'F':
+ month = 2;
+ break;
+
+ case 'M':
+ switch(__DATE__[2]) {
+ case 'r':
+ month = 3;
+ break;
+
+ case 'y':
+ month = 5;
+ break;
+ }
+ break;
+
+ case 'A':
+ switch(__DATE__[1]) {
+ case 'p':
+ month = 4;
+ break;
+
+ case 'u':
+ month = 8;
+ break;
+ }
+ break;
+
+ case 'S':
+ month = 9;
+ break;
+
+ case 'O':
+ month = 10;
+ break;
+
+ case 'N':
+ month = 11;
+ break;
+
+ case 'D':
+ month = 12;
+ break;
+ }
+
+ asprintf(&framework_environment.nts.build_time, "%04d-%02d-%02dT%sZ", year, month, day, __TIME__);
+ }
+ }