Index: gperf/src/gperf/3.0.1/gperf-3.0.1-src/tests/test2.c |
=================================================================== |
--- gperf/src/gperf/3.0.1/gperf-3.0.1-src/tests/test2.c (revision 0) |
+++ gperf/src/gperf/3.0.1/gperf-3.0.1-src/tests/test2.c (revision 0) |
@@ -0,0 +1,69 @@ |
+/* |
+ Tests the generated perfect hash function. |
+ The -v option prints diagnostics as to whether a word is in |
+ the set or not. Without -v the program is useful for timing. |
+*/ |
+ |
+#include <stdio.h> |
+ |
+/* Support for SET_BINARY. */ |
+#include <fcntl.h> |
+#if !defined O_BINARY && defined _O_BINARY |
+# define O_BINARY _O_BINARY |
+#endif |
+#ifdef __BEOS__ |
+# undef O_BINARY |
+#endif |
+#if O_BINARY |
+# define SET_BINARY(f) setmode (f, O_BINARY) |
+#else |
+# define SET_BINARY(f) (void)0 |
+#endif |
+ |
+#define MAX_LEN 80 |
+ |
+int |
+main (argc, argv) |
+ int argc; |
+ char *argv[]; |
+{ |
+ int verbose = argc > 1 ? 1 : 0; |
+ char buf[2*MAX_LEN]; |
+ int buflen; |
+ |
+ /* We need to read stdin in binary mode. */ |
+ SET_BINARY (0); |
+ |
+ for (;;) |
+ { |
+ /* Simulate gets(buf) with 2 bytes per character. */ |
+ char *p = buf; |
+ while (fread (p, 2, 1, stdin) == 1) |
+ { |
+ if ((p[0] << 8) + p[1] == '\n') |
+ break; |
+ p += 2; |
+ } |
+ buflen = p - buf; |
+ |
+ if (buflen == 0) |
+ break; |
+ |
+ if (in_word_set (buf, buflen)) |
+ { |
+ if (verbose) |
+ printf ("in word set:"); |
+ } |
+ else |
+ { |
+ if (verbose) |
+ printf ("NOT in word set:"); |
+ } |
+ |
+ for (p = buf; p < buf + buflen; p += 2) |
+ printf (" %02X%02X", (unsigned char) p[0], (unsigned char) p[1]); |
+ printf("\n"); |
+ } |
+ |
+ return 0; |
+} |
Property changes on: gperf\src\gperf\3.0.1\gperf-3.0.1-src\tests\test2.c |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |