Changeset 2591 in kBuild for trunk/src/kmk/hash.h
- Timestamp:
- Jun 17, 2012 8:45:31 PM (13 years ago)
- Location:
- trunk/src/kmk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kmk
- Property svn:ignore
-
old new 13 13 stamp-* 14 14 makebook* 15 15 16 .*gdbinit 17 .gdb_history 18 16 19 *.dep 17 20 *.dvi … … 31 34 *.pg 32 35 *.pgs 36 33 37 README 34 38 README.DOS 35 39 README.W32 40 README.OS2 36 41 aclocal.m4 37 42 autom4te.cache … … 52 57 config.h.W32 53 58 config.h-vms 59 54 60 loadavg 55 61 loadavg.c 56 62 make 63 57 64 .deps 58 65 .dep_segment 66 ID 67 TAGS 68 59 69 _* 60 70 sun4 … … 72 82 sol2 73 83 i486-linux 84 74 85 customs 86 75 87 install-sh 76 88 mkinstalldirs 89 90 .directive.asc
-
- Property svn:ignore
-
trunk/src/kmk/hash.h
r1993 r2591 1 1 /* hash.h -- decls for hash table 2 Copyright (C) 1995, 1999, 2002 Free Software Foundation, Inc.2 Copyright (C) 1995, 1999, 2002, 2010 Free Software Foundation, Inc. 3 3 Written by Greg McGary <[email protected]> <[email protected]> 4 4 … … 98 98 /* hash and comparison macros for case-sensitive string keys. */ 99 99 100 /* Due to the strcache, it's not uncommon for the string pointers to 101 be identical. Take advantage of that to short-circuit string compares. */ 102 100 103 #define STRING_HASH_1(KEY, RESULT) do { \ 101 104 unsigned char const *_key_ = (unsigned char const *) (KEY) - 1; \ … … 121 124 122 125 #define STRING_COMPARE(X, Y, RESULT) do { \ 123 RESULT =strcmp ((X), (Y)); \126 RESULT = (X) == (Y) ? 0 : strcmp ((X), (Y)); \ 124 127 } while (0) 125 128 #define return_STRING_COMPARE(X, Y) do { \ 126 return strcmp ((X), (Y)); \129 return (X) == (Y) ? 0 : strcmp ((X), (Y)); \ 127 130 } while (0) 128 131 … … 157 160 158 161 #define STRING_N_COMPARE(X, Y, N, RESULT) do { \ 159 RESULT = strncmp ((X), (Y), (N)); \162 RESULT = (X) == (Y) ? 0 : strncmp ((X), (Y), (N)); \ 160 163 } while (0) 161 164 #define return_STRING_N_COMPARE(X, Y, N) do { \ 162 return strncmp ((X), (Y), (N)); \165 return (X) == (Y) ? 0 : strncmp ((X), (Y), (N)); \ 163 166 } while (0) 164 167 … … 190 193 191 194 #define ISTRING_COMPARE(X, Y, RESULT) do { \ 192 RESULT = strcasecmp ((X), (Y)); \195 RESULT = (X) == (Y) ? 0 : strcasecmp ((X), (Y)); \ 193 196 } while (0) 194 197 #define return_ISTRING_COMPARE(X, Y) do { \ 195 return strcasecmp ((X), (Y)); \198 return (X) == (Y) ? 0 : strcasecmp ((X), (Y)); \ 196 199 } while (0) 197 200
Note:
See TracChangeset
for help on using the changeset viewer.