Merge pull request #22383 from taosdata/fix/TD-25623-3.0

fix: timezone and qsort for windows
This commit is contained in:
dapan1121 2023-08-10 11:25:30 +08:00 committed by GitHub
commit ee9cbd72b9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 4 deletions

View File

@ -6596,7 +6596,10 @@ typedef struct SProjColPos {
} SProjColPos;
static int32_t projColPosCompar(const void* l, const void* r) {
return ((SProjColPos*)l)->colId > ((SProjColPos*)r)->colId;
if (((SProjColPos*)l)->colId < ((SProjColPos*)r)->colId) {
return -1;
}
return ((SProjColPos*)l)->colId == ((SProjColPos*)r)->colId ? 0 : 1;
}
static void projColPosDelete(void* p) { nodesDestroyNode(((SProjColPos*)p)->pProj); }

View File

@ -25,7 +25,7 @@ int32_t qsortHelper(const void* p1, const void* p2, const void* param) {
// todo refactor: 1) move away; 2) use merge sort instead; 3) qsort is not a stable sort actually.
void taosSort(void* base, int64_t sz, int64_t width, __compar_fn_t compar) {
#if defined(WINDOWS) || defined(_ALPINE)
#if defined(WINDOWS_STASH) || defined(_ALPINE)
void* param = compar;
taosqsort(base, sz, width, param, qsortHelper);
#else

View File

@ -768,7 +768,7 @@ void taosSetSystemTimezone(const char *inTimezoneStr, char *outTimezoneStr, int8
keyValue[4] = (keyValue[4] == '+' ? '-' : '+');
keyValue[10] = 0;
sprintf(winStr, "TZ=%s:00", &(keyValue[1]));
*tsTimezone = taosStr2Int32(&keyValue[4], NULL, 10);
*tsTimezone = -taosStr2Int32(&keyValue[4], NULL, 10);
}
break;
}
@ -789,7 +789,7 @@ void taosSetSystemTimezone(const char *inTimezoneStr, char *outTimezoneStr, int8
indexStr = ppp - pp + 3;
}
sprintf(&winStr[indexStr], "%c%c%c:%c%c:00", (p[0] == '+' ? '-' : '+'), p[1], p[2], p[3], p[4]);
*tsTimezone = taosStr2Int32(p, NULL, 10);
*tsTimezone = -taosStr2Int32(p, NULL, 10);
} else {
*tsTimezone = 0;
}