зеркало из https://github.com/microsoft/git.git
add QSORT_S
Add the macro QSORT_S, a convenient wrapper for qsort_s() that infers the size of the array elements and dies on error. Basically all possible errors are programming mistakes (passing NULL as base of a non-empty array, passing NULL as comparison function, out-of-bounds accesses), so terminating the program should be acceptable for most callers. Signed-off-by: Rene Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
04ee8b875b
Коммит
3ca8699409
|
@ -994,6 +994,11 @@ int git_qsort_s(void *base, size_t nmemb, size_t size,
|
|||
#define qsort_s git_qsort_s
|
||||
#endif
|
||||
|
||||
#define QSORT_S(base, n, compar, ctx) do { \
|
||||
if (qsort_s((base), (n), sizeof(*(base)), compar, ctx)) \
|
||||
die("BUG: qsort_s() failed"); \
|
||||
} while (0)
|
||||
|
||||
#ifndef REG_STARTEND
|
||||
#error "Git requires REG_STARTEND support. Compile with NO_REGEX=NeedsStartEnd"
|
||||
#endif
|
||||
|
|
Загрузка…
Ссылка в новой задаче