Mercurial > cpython-lru_cache-weakref
annotate Modules/soundex.c @ 4566:6403c94de50d legacy-trunk
Added safeguard against failure in __del__.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Wed, 27 Nov 1996 19:39:58 +0000 |
| parents | 453a9f6e9618 |
| children | b2a1c99ca642 |
| rev | line source |
|---|---|
|
2737
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1 /* |
| 2738 | 2 [Header: soundexmodule.c,v 1.2 95/05/02 15:40:45 dwwillia Exp ] |
|
2737
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3 |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
4 Perform soundex comparisons on strings. |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
5 |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
6 Soundex is an algorithm that hashes English strings into numerical value. |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
7 Strings that sound the same are hashed to the same value. This allows |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
8 for non-literal string matching. |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
9 |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
10 From: David Wayne Williams <dwwillia@iucf.indiana.edu> |
|
3593
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
11 |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
12 Apr 29 1996 - added get_soundex method that returns the soundex of a |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
13 string (chrish@qnx.com) |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
14 May 2 1996 - added doc strings (chrish@qnx.com) |
|
2737
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
15 */ |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
16 |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
17 #include <string.h> |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
18 #include <ctype.h> |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
19 #include "Python.h" |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
20 |
|
3593
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
21 static char soundex_module__doc__[] = |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
22 "Perform Soundex comparisons on strings, allowing non-literal matching."; |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
23 |
|
3611
453a9f6e9618
make soundex_hash static
Guido van Rossum <guido@python.org>
parents:
3593
diff
changeset
|
24 static void soundex_hash(char *str, char *result) |
|
2737
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
25 { |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
26 char *sptr = str; /* pointer into str */ |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
27 char *rptr = result; /* pointer into result */ |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
28 |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
29 if(*str == NULL) |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
30 { |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
31 strcpy(result,"000000"); |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
32 return; |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
33 } |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
34 |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
35 /* Preserve the first character of the input string. |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
36 */ |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
37 *(rptr++) = toupper(*(sptr++)); |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
38 |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
39 /* Translate the rest of the input string into result. The following |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
40 transformations are used: |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
41 |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
42 1) All vowles, W, and H, are skipped. |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
43 |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
44 2) BFPV = 1 |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
45 CGJKQSXZ = 2 |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
46 DT = 3 |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
47 L = 4 |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
48 MN = 5 |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
49 |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
50 3) Only translate the first of adjacent equal translations. I.E. |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
51 remove duplicate digits. |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
52 */ |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
53 |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
54 for(;(rptr - result) < 6 && *sptr != NULL;sptr++) |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
55 { |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
56 switch (toupper(*sptr)) |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
57 { |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
58 case 'W': |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
59 case 'H': |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
60 case 'A': |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
61 case 'I': |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
62 case 'O': |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
63 case 'U': |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
64 case 'Y': |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
65 break; |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
66 case 'B': |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
67 case 'F': |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
68 case 'P': |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
69 case 'V': |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
70 if(*(rptr - 1) != '1') |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
71 *(rptr++) = '1'; |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
72 break; |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
73 case 'C': |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
74 case 'G': |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
75 case 'J': |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
76 case 'K': |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
77 case 'Q': |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
78 case 'S': |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
79 case 'X': |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
80 case 'Z': |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
81 if(*(rptr - 1) != '2') |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
82 *(rptr++) = '2'; |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
83 break; |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
84 case 'D': |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
85 case 'T': |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
86 if(*(rptr - 1) != '3') |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
87 *(rptr++) = '3'; |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
88 break; |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
89 case 'L': |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
90 if(*(rptr - 1) != '4') |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
91 *(rptr++) = '4'; |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
92 break; |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
93 case 'M': |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
94 case 'N': |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
95 if(*(rptr - 1) != '5') |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
96 *(rptr++) = '5'; |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
97 break; |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
98 default: |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
99 break; |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
100 } |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
101 } |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
102 |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
103 /* Pad 0's on right side of string out to 6 characters. |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
104 */ |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
105 for(; rptr < result + 6; rptr++) |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
106 *rptr = '0'; |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
107 |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
108 /* Terminate the result string. |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
109 */ |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
110 *(result + 6) = NULL; |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
111 } |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
112 |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
113 |
|
3593
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
114 /* Return the actual soundex value. */ |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
115 /* Added by Chris Herborth (chrish@qnx.com) */ |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
116 static char soundex_get_soundex__doc__[] = |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
117 "Return the (English) Soundex hash value for a string."; |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
118 static PyObject * |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
119 get_soundex(PyObject *self, PyObject *args) |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
120 { |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
121 char *str; |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
122 int retval; |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
123 char sdx[7]; |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
124 |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
125 if(!PyArg_ParseTuple( args, "s", &str)) |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
126 return NULL; |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
127 |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
128 soundex_hash(str, sdx); |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
129 |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
130 return PyString_FromString(sdx); |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
131 } |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
132 |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
133 static char soundex_sound_similar__doc__[] = |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
134 "Compare two strings to see if they sound similar (English)."; |
|
2737
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
135 static PyObject * |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
136 sound_similar(PyObject *self, PyObject *args) |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
137 { |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
138 char *str1, *str2; |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
139 int return_value; |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
140 char res1[7], res2[7]; |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
141 |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
142 if(!PyArg_ParseTuple(args, "ss", &str1, &str2)) |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
143 return NULL; |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
144 |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
145 soundex_hash(str1, res1); |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
146 soundex_hash(str2, res2); |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
147 |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
148 if(!strcmp(res1,res2)) |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
149 return Py_BuildValue("i",1); |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
150 else |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
151 return Py_BuildValue("i",0); |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
152 } |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
153 |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
154 /* Python Method Table. |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
155 */ |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
156 static PyMethodDef SoundexMethods[] = |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
157 { |
|
3593
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
158 {"sound_similar", sound_similar, 1, soundex_sound_similar__doc__}, |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
159 {"get_soundex", get_soundex, 1, soundex_get_soundex__doc__}, |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
160 |
|
2737
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
161 {NULL, NULL } /* sentinel */ |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
162 }; |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
163 |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
164 |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
165 /* Register the method table. |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
166 */ |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
167 void |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
168 initsoundex() |
|
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
169 { |
|
3593
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
170 (void) Py_InitModule4("soundex", |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
171 SoundexMethods, |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
172 soundex_module__doc__, |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
173 (PyObject *)NULL, |
|
de987fd67c94
Added __doc__ strings. Added get_soundex().
Guido van Rossum <guido@python.org>
parents:
2738
diff
changeset
|
174 PYTHON_API_VERSION); |
|
2737
3cf896d24e50
new modules soundex.c and environment.c
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
175 } |
