mirror of
https://github.com/git/git
synced 2024-07-02 15:48:44 +00:00
Replace isspecial() by the new macro is_glob_special(), which is more, well, specialized. The former included the NUL char in its character class, while the letter only included characters that are special to file name globbing. The new name contains underscores because they enhance readability considerably now that it's made up of three words. Renaming the function is necessary to document its changed scope. The call sites of isspecial() are updated to check explicitly for NUL. Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx> Signed-off-by: Junio C Hamano <gitster@pobox.com>
26 lines
821 B
C
26 lines
821 B
C
/*
|
|
* Sane locale-independent, ASCII ctype.
|
|
*
|
|
* No surprises, and works with signed and unsigned chars.
|
|
*/
|
|
#include "cache.h"
|
|
|
|
enum {
|
|
S = GIT_SPACE,
|
|
A = GIT_ALPHA,
|
|
D = GIT_DIGIT,
|
|
G = GIT_GLOB_SPECIAL, /* *, ?, [, \\ */
|
|
};
|
|
|
|
unsigned char sane_ctype[256] = {
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, S, S, 0, 0, S, 0, 0, /* 0.. 15 */
|
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 16.. 31 */
|
|
S, 0, 0, 0, 0, 0, 0, 0, 0, 0, G, 0, 0, 0, 0, 0, /* 32.. 47 */
|
|
D, D, D, D, D, D, D, D, D, D, 0, 0, 0, 0, 0, G, /* 48.. 63 */
|
|
0, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, /* 64.. 79 */
|
|
A, A, A, A, A, A, A, A, A, A, A, G, G, 0, 0, 0, /* 80.. 95 */
|
|
0, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, /* 96..111 */
|
|
A, A, A, A, A, A, A, A, A, A, A, 0, 0, 0, 0, 0, /* 112..127 */
|
|
/* Nothing in the 128.. range */
|
|
};
|