Merge pull request #22383 from taosdata/fix/TD-25623-3.0
fix: timezone and qsort for windows
This commit is contained in:
commit
ee9cbd72b9
|
@ -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); }
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue