48
48
49
49
50
50
/*
51
- * $Revision: 1.1 $
52
- * $Id: dmetaphone.c,v 1.1 2004/07/01 03:25:48 joe Exp $
51
+ * $Revision: 1.2 $
52
+ * $Id: dmetaphone.c,v 1.2 2004/08/20 19:48:14 momjian Exp $
53
53
*/
54
54
55
55
@@ -138,12 +138,16 @@ PG_FUNCTION_INFO_V1(dmetaphone);
138
138
Datum
139
139
dmetaphone (PG_FUNCTION_ARGS )
140
140
{
141
+ text * arg , * result ;
142
+ int alen , rsize ;
143
+ char * aptr , * codes [2 ], * code , * rptr ;
144
+
141
145
#ifdef DMETAPHONE_NOSTRICT
142
146
if (PG_ARGISNULL (0 ))
143
147
PG_RETURNNULL ();
144
148
#endif
145
- text * arg = PG_GETARG_TEXT_P (0 );
146
- int alen = VARSIZE (arg )- VARHDRSZ ;
149
+ arg = PG_GETARG_TEXT_P (0 );
150
+ alen = VARSIZE (arg )- VARHDRSZ ;
147
151
148
152
/*
149
153
* Postgres' string values might not have trailing nuls.
@@ -153,18 +157,17 @@ dmetaphone(PG_FUNCTION_ARGS)
153
157
* (and we don't make space for it).
154
158
*/
155
159
156
- char * aptr = palloc (alen + 1 );
160
+ aptr = palloc (alen + 1 );
157
161
memcpy (aptr ,VARDATA (arg ),alen );
158
162
aptr [alen ]= 0 ;
159
- char * codes [2 ];
160
163
DoubleMetaphone (aptr ,codes );
161
- char * code = codes [0 ];
164
+ code = codes [0 ];
162
165
if (!code )
163
166
code = "" ;
164
- int rsize = VARHDRSZ + strlen (code ) ;
165
- text * result = (text * ) palloc (rsize );
167
+ rsize = VARHDRSZ + strlen (code ) ;
168
+ result = (text * ) palloc (rsize );
166
169
memset (result ,0 ,rsize );
167
- char * rptr = VARDATA (result );
170
+ rptr = VARDATA (result );
168
171
memcpy (rptr ,code ,strlen (code ));
169
172
VARATT_SIZEP (result ) = rsize ;
170
173
PG_RETURN_TEXT_P (result );
@@ -180,24 +183,27 @@ PG_FUNCTION_INFO_V1(dmetaphone_alt);
180
183
Datum
181
184
dmetaphone_alt (PG_FUNCTION_ARGS )
182
185
{
186
+ text * arg , * result ;
187
+ int alen , rsize ;
188
+ char * aptr , * codes [2 ], * code , * rptr ;
189
+
183
190
#ifdef DMETAPHONE_NOSTRICT
184
191
if (PG_ARGISNULL (0 ))
185
192
PG_RETURNNULL ();
186
193
#endif
187
- text * arg = PG_GETARG_TEXT_P (0 );
188
- int alen = VARSIZE (arg )- VARHDRSZ ;
189
- char * aptr = palloc (alen + 1 );
190
- memcpy (aptr ,VARDATA (arg ),alen );
194
+ arg = PG_GETARG_TEXT_P (0 );
195
+ alen = VARSIZE (arg )- VARHDRSZ ;
196
+ aptr = palloc (alen + 1 );
197
+ memcpy (aptr ,VARDATA (arg ),alen );
191
198
aptr [alen ]= 0 ;
192
- char * codes [2 ];
193
199
DoubleMetaphone (aptr ,codes );
194
- char * code = codes [1 ];
200
+ code = codes [1 ];
195
201
if (!code )
196
202
code = "" ;
197
- int rsize = VARHDRSZ + strlen (code ) ;
198
- text * result = (text * ) palloc (rsize );
203
+ rsize = VARHDRSZ + strlen (code ) ;
204
+ result = (text * ) palloc (rsize );
199
205
memset (result ,0 ,rsize );
200
- char * rptr = VARDATA (result );
206
+ rptr = VARDATA (result );
201
207
memcpy (rptr ,code ,strlen (code ));
202
208
VARATT_SIZEP (result ) = rsize ;
203
209
PG_RETURN_TEXT_P (result );
0 commit comments