* [PATCH 1/2] ctype.c only wants git-compat-util.h @ 2012-02-10 2:13 Namhyung Kim 2012-02-10 2:13 ` [PATCH 2/2] ctype: implement islower/isupper macro Namhyung Kim 0 siblings, 1 reply; 6+ messages in thread From: Namhyung Kim @ 2012-02-10 2:13 UTC (permalink / raw) To: Junio C Hamano; +Cc: git The implementation of sane ctype macros only depends on symbols in git-compat-util.h not cache.h Signed-off-by: Namhyung Kim <namhyung.kim@lge.com> --- ctype.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/ctype.c b/ctype.c index b5d856f..af722f9 100644 --- a/ctype.c +++ b/ctype.c @@ -3,7 +3,7 @@ * * No surprises, and works with signed and unsigned chars. */ -#include "cache.h" +#include "git-compat-util.h" enum { S = GIT_SPACE, -- 1.7.9 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] ctype: implement islower/isupper macro 2012-02-10 2:13 [PATCH 1/2] ctype.c only wants git-compat-util.h Namhyung Kim @ 2012-02-10 2:13 ` Namhyung Kim 2012-02-10 2:17 ` Junio C Hamano 0 siblings, 1 reply; 6+ messages in thread From: Namhyung Kim @ 2012-02-10 2:13 UTC (permalink / raw) To: Junio C Hamano; +Cc: git The git-compat-util.h provides various ctype macros but lacks those two (along with others). Add them. Signed-off-by: Namhyung Kim <namhyung.kim@lge.com> --- git-compat-util.h | 15 +++++++++++++++ 1 files changed, 15 insertions(+), 0 deletions(-) diff --git a/git-compat-util.h b/git-compat-util.h index 8f3972c..d3f8f17 100644 --- a/git-compat-util.h +++ b/git-compat-util.h @@ -463,6 +463,8 @@ static inline int has_extension(const char *filename, const char *ext) #undef isdigit #undef isalpha #undef isalnum +#undef islower +#undef isupper #undef tolower #undef toupper extern unsigned char sane_ctype[256]; @@ -478,6 +480,8 @@ extern unsigned char sane_ctype[256]; #define isdigit(x) sane_istest(x,GIT_DIGIT) #define isalpha(x) sane_istest(x,GIT_ALPHA) #define isalnum(x) sane_istest(x,GIT_ALPHA | GIT_DIGIT) +#define islower(x) sane_iscase(x, 1) +#define isupper(x) sane_iscase(x, 0) #define is_glob_special(x) sane_istest(x,GIT_GLOB_SPECIAL) #define is_regex_special(x) sane_istest(x,GIT_GLOB_SPECIAL | GIT_REGEX_SPECIAL) #define tolower(x) sane_case((unsigned char)(x), 0x20) @@ -491,6 +495,17 @@ static inline int sane_case(int x, int high) return x; } +static inline int sane_iscase(int x, int lower) +{ + if (!sane_istest(x, GIT_ALPHA)) + return 0; + + if (lower) + return (x & 0x20) != 0; + else + return (x & 0x20) == 0; +} + static inline int strtoul_ui(char const *s, int base, unsigned int *result) { unsigned long ul; -- 1.7.9 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] ctype: implement islower/isupper macro 2012-02-10 2:13 ` [PATCH 2/2] ctype: implement islower/isupper macro Namhyung Kim @ 2012-02-10 2:17 ` Junio C Hamano 2012-02-10 2:32 ` 김남형 0 siblings, 1 reply; 6+ messages in thread From: Junio C Hamano @ 2012-02-10 2:17 UTC (permalink / raw) To: Namhyung Kim; +Cc: git Namhyung Kim <namhyung.kim@lge.com> writes: > The git-compat-util.h provides various ctype macros but lacks those two > (along with others). Add them. Isn't that because we do not use them ourselves? Uses in compat/ do not count, and judging from the way it is used in compat/fnmatch/fnmatch.c, the implementation of sane_iscase() might be overly protective. What problem are you trying to solve? ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] ctype: implement islower/isupper macro 2012-02-10 2:17 ` Junio C Hamano @ 2012-02-10 2:32 ` 김남형 2012-02-10 4:03 ` Junio C Hamano 0 siblings, 1 reply; 6+ messages in thread From: 김남형 @ 2012-02-10 2:32 UTC (permalink / raw) To: Junio C Hamano; +Cc: git Hello, 2012-02-10 11:17 AM, Junio C Hamano wrote: > Namhyung Kim <namhyung.kim@lge.com> writes: > >> The git-compat-util.h provides various ctype macros but lacks those two >> (along with others). Add them. > > Isn't that because we do not use them ourselves? Uses in compat/ do not > count, and judging from the way it is used in compat/fnmatch/fnmatch.c, > the implementation of sane_iscase() might be overly protective. > > What problem are you trying to solve? > There's no problem. In fact, these patches come from perf as it uses a copy of git code in this part. So I didn't check it's really needed for git too, but just hoped it'd be helpful someday. If you don't think it's worth applying I'm fine with dropping it. Thanks, Namhyung ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] ctype: implement islower/isupper macro 2012-02-10 2:32 ` 김남형 @ 2012-02-10 4:03 ` Junio C Hamano 2012-02-10 5:04 ` Namhyung Kim 0 siblings, 1 reply; 6+ messages in thread From: Junio C Hamano @ 2012-02-10 4:03 UTC (permalink / raw) To: 김남형; +Cc: git 김남형 <namhyung.kim@lge.com> writes: > 2012-02-10 11:17 AM, Junio C Hamano wrote: >> Namhyung Kim <namhyung.kim@lge.com> writes: >> >>> The git-compat-util.h provides various ctype macros but lacks those two >>> (along with others). Add them. >> >> Isn't that because we do not use them ourselves? Uses in compat/ do not >> count, and judging from the way it is used in compat/fnmatch/fnmatch.c, >> the implementation of sane_iscase() might be overly protective. >> >> What problem are you trying to solve? > > There's no problem. In fact, these patches come from perf as it uses a > copy of git code in this part. Kim-ssi, the above is something I would have like to see in your first message. > If you don't > think it's worth applying I'm fine with dropping it. I never said these patches are worthless. I just was wondering what the motivation behind them were. If you are involved in maintaining Perf, and if it wants to keep its own forked copy as close as ours, that is a good enough justification, as long as the additions we do not use ourselves is still reasonably done. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] ctype: implement islower/isupper macro 2012-02-10 4:03 ` Junio C Hamano @ 2012-02-10 5:04 ` Namhyung Kim 0 siblings, 0 replies; 6+ messages in thread From: Namhyung Kim @ 2012-02-10 5:04 UTC (permalink / raw) To: Junio C Hamano; +Cc: git 2012-02-10 1:03 PM, Junio C Hamano wrote: > 김남형<namhyung.kim@lge.com> writes: > >> 2012-02-10 11:17 AM, Junio C Hamano wrote: >>> Namhyung Kim<namhyung.kim@lge.com> writes: >>> >>>> The git-compat-util.h provides various ctype macros but lacks those two >>>> (along with others). Add them. >>> >>> Isn't that because we do not use them ourselves? Uses in compat/ do not >>> count, and judging from the way it is used in compat/fnmatch/fnmatch.c, >>> the implementation of sane_iscase() might be overly protective. >>> >>> What problem are you trying to solve? >> >> There's no problem. In fact, these patches come from perf as it uses a >> copy of git code in this part. > > Kim-ssi, the above is something I would have like to see in your first > message. > >> If you don't >> think it's worth applying I'm fine with dropping it. > > I never said these patches are worthless. > > I just was wondering what the motivation behind them were. If you are > involved in maintaining Perf, and if it wants to keep its own forked copy > as close as ours, that is a good enough justification, as long as the > additions we do not use ourselves is still reasonably done. > Hamano-san, Thanks for your explanation. I'll try to write a better description for the future. Thanks, Namhyung ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2012-02-10 5:05 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-02-10 2:13 [PATCH 1/2] ctype.c only wants git-compat-util.h Namhyung Kim 2012-02-10 2:13 ` [PATCH 2/2] ctype: implement islower/isupper macro Namhyung Kim 2012-02-10 2:17 ` Junio C Hamano 2012-02-10 2:32 ` 김남형 2012-02-10 4:03 ` Junio C Hamano 2012-02-10 5:04 ` Namhyung Kim
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).