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;
|
} SProjColPos;
|
||||||
|
|
||||||
static int32_t projColPosCompar(const void* l, const void* r) {
|
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); }
|
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.
|
// 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) {
|
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;
|
void* param = compar;
|
||||||
taosqsort(base, sz, width, param, qsortHelper);
|
taosqsort(base, sz, width, param, qsortHelper);
|
||||||
#else
|
#else
|
||||||
|
|
|
||||||
|
|
@ -768,7 +768,7 @@ void taosSetSystemTimezone(const char *inTimezoneStr, char *outTimezoneStr, int8
|
||||||
keyValue[4] = (keyValue[4] == '+' ? '-' : '+');
|
keyValue[4] = (keyValue[4] == '+' ? '-' : '+');
|
||||||
keyValue[10] = 0;
|
keyValue[10] = 0;
|
||||||
sprintf(winStr, "TZ=%s:00", &(keyValue[1]));
|
sprintf(winStr, "TZ=%s:00", &(keyValue[1]));
|
||||||
*tsTimezone = taosStr2Int32(&keyValue[4], NULL, 10);
|
*tsTimezone = -taosStr2Int32(&keyValue[4], NULL, 10);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -789,7 +789,7 @@ void taosSetSystemTimezone(const char *inTimezoneStr, char *outTimezoneStr, int8
|
||||||
indexStr = ppp - pp + 3;
|
indexStr = ppp - pp + 3;
|
||||||
}
|
}
|
||||||
sprintf(&winStr[indexStr], "%c%c%c:%c%c:00", (p[0] == '+' ? '-' : '+'), p[1], p[2], p[3], p[4]);
|
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 {
|
} else {
|
||||||
*tsTimezone = 0;
|
*tsTimezone = 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue