66 * Portions Copyright (c) 1994, Regents of the University of California
77 *
88 * IDENTIFICATION
9- * $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/cyrillic_and_mic/cyrillic_and_mic.c,v 1.18 2009/01/01 17 :23:51 momjian Exp $
9+ * $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/cyrillic_and_mic/cyrillic_and_mic.c,v 1.19 2009/01/29 19 :23:39 tgl Exp $
1010 *
1111 *-------------------------------------------------------------------------
1212 */
@@ -88,9 +88,7 @@ koi8r_to_mic(PG_FUNCTION_ARGS)
8888 unsigned char * dest = (unsigned char * ) PG_GETARG_CSTRING (3 );
8989 int len = PG_GETARG_INT32 (4 );
9090
91- Assert (PG_GETARG_INT32 (0 ) == PG_KOI8R );
92- Assert (PG_GETARG_INT32 (1 ) == PG_MULE_INTERNAL );
93- Assert (len >= 0 );
91+ CHECK_ENCODING_CONVERSION_ARGS (PG_KOI8R , PG_MULE_INTERNAL );
9492
9593 koi8r2mic (src , dest , len );
9694
@@ -104,9 +102,7 @@ mic_to_koi8r(PG_FUNCTION_ARGS)
104102 unsigned char * dest = (unsigned char * ) PG_GETARG_CSTRING (3 );
105103 int len = PG_GETARG_INT32 (4 );
106104
107- Assert (PG_GETARG_INT32 (0 ) == PG_MULE_INTERNAL );
108- Assert (PG_GETARG_INT32 (1 ) == PG_KOI8R );
109- Assert (len >= 0 );
105+ CHECK_ENCODING_CONVERSION_ARGS (PG_MULE_INTERNAL , PG_KOI8R );
110106
111107 mic2koi8r (src , dest , len );
112108
@@ -120,9 +116,7 @@ iso_to_mic(PG_FUNCTION_ARGS)
120116 unsigned char * dest = (unsigned char * ) PG_GETARG_CSTRING (3 );
121117 int len = PG_GETARG_INT32 (4 );
122118
123- Assert (PG_GETARG_INT32 (0 ) == PG_ISO_8859_5 );
124- Assert (PG_GETARG_INT32 (1 ) == PG_MULE_INTERNAL );
125- Assert (len >= 0 );
119+ CHECK_ENCODING_CONVERSION_ARGS (PG_ISO_8859_5 , PG_MULE_INTERNAL );
126120
127121 iso2mic (src , dest , len );
128122
@@ -136,9 +130,7 @@ mic_to_iso(PG_FUNCTION_ARGS)
136130 unsigned char * dest = (unsigned char * ) PG_GETARG_CSTRING (3 );
137131 int len = PG_GETARG_INT32 (4 );
138132
139- Assert (PG_GETARG_INT32 (0 ) == PG_MULE_INTERNAL );
140- Assert (PG_GETARG_INT32 (1 ) == PG_ISO_8859_5 );
141- Assert (len >= 0 );
133+ CHECK_ENCODING_CONVERSION_ARGS (PG_MULE_INTERNAL , PG_ISO_8859_5 );
142134
143135 mic2iso (src , dest , len );
144136
@@ -152,9 +144,7 @@ win1251_to_mic(PG_FUNCTION_ARGS)
152144 unsigned char * dest = (unsigned char * ) PG_GETARG_CSTRING (3 );
153145 int len = PG_GETARG_INT32 (4 );
154146
155- Assert (PG_GETARG_INT32 (0 ) == PG_WIN1251 );
156- Assert (PG_GETARG_INT32 (1 ) == PG_MULE_INTERNAL );
157- Assert (len >= 0 );
147+ CHECK_ENCODING_CONVERSION_ARGS (PG_WIN1251 , PG_MULE_INTERNAL );
158148
159149 win12512mic (src , dest , len );
160150
@@ -168,9 +158,7 @@ mic_to_win1251(PG_FUNCTION_ARGS)
168158 unsigned char * dest = (unsigned char * ) PG_GETARG_CSTRING (3 );
169159 int len = PG_GETARG_INT32 (4 );
170160
171- Assert (PG_GETARG_INT32 (0 ) == PG_MULE_INTERNAL );
172- Assert (PG_GETARG_INT32 (1 ) == PG_WIN1251 );
173- Assert (len >= 0 );
161+ CHECK_ENCODING_CONVERSION_ARGS (PG_MULE_INTERNAL , PG_WIN1251 );
174162
175163 mic2win1251 (src , dest , len );
176164
@@ -184,9 +172,7 @@ win866_to_mic(PG_FUNCTION_ARGS)
184172 unsigned char * dest = (unsigned char * ) PG_GETARG_CSTRING (3 );
185173 int len = PG_GETARG_INT32 (4 );
186174
187- Assert (PG_GETARG_INT32 (0 ) == PG_WIN866 );
188- Assert (PG_GETARG_INT32 (1 ) == PG_MULE_INTERNAL );
189- Assert (len >= 0 );
175+ CHECK_ENCODING_CONVERSION_ARGS (PG_WIN866 , PG_MULE_INTERNAL );
190176
191177 win8662mic (src , dest , len );
192178
@@ -200,9 +186,7 @@ mic_to_win866(PG_FUNCTION_ARGS)
200186 unsigned char * dest = (unsigned char * ) PG_GETARG_CSTRING (3 );
201187 int len = PG_GETARG_INT32 (4 );
202188
203- Assert (PG_GETARG_INT32 (0 ) == PG_MULE_INTERNAL );
204- Assert (PG_GETARG_INT32 (1 ) == PG_WIN866 );
205- Assert (len >= 0 );
189+ CHECK_ENCODING_CONVERSION_ARGS (PG_MULE_INTERNAL , PG_WIN866 );
206190
207191 mic2win866 (src , dest , len );
208192
@@ -217,9 +201,7 @@ koi8r_to_win1251(PG_FUNCTION_ARGS)
217201 int len = PG_GETARG_INT32 (4 );
218202 unsigned char * buf ;
219203
220- Assert (PG_GETARG_INT32 (0 ) == PG_KOI8R );
221- Assert (PG_GETARG_INT32 (1 ) == PG_WIN1251 );
222- Assert (len >= 0 );
204+ CHECK_ENCODING_CONVERSION_ARGS (PG_KOI8R , PG_WIN1251 );
223205
224206 buf = palloc (len * ENCODING_GROWTH_RATE );
225207 koi8r2mic (src , buf , len );
@@ -237,9 +219,7 @@ win1251_to_koi8r(PG_FUNCTION_ARGS)
237219 int len = PG_GETARG_INT32 (4 );
238220 unsigned char * buf ;
239221
240- Assert (PG_GETARG_INT32 (0 ) == PG_WIN1251 );
241- Assert (PG_GETARG_INT32 (1 ) == PG_KOI8R );
242- Assert (len >= 0 );
222+ CHECK_ENCODING_CONVERSION_ARGS (PG_WIN1251 , PG_KOI8R );
243223
244224 buf = palloc (len * ENCODING_GROWTH_RATE );
245225 win12512mic (src , buf , len );
@@ -257,9 +237,7 @@ koi8r_to_win866(PG_FUNCTION_ARGS)
257237 int len = PG_GETARG_INT32 (4 );
258238 unsigned char * buf ;
259239
260- Assert (PG_GETARG_INT32 (0 ) == PG_KOI8R );
261- Assert (PG_GETARG_INT32 (1 ) == PG_WIN866 );
262- Assert (len >= 0 );
240+ CHECK_ENCODING_CONVERSION_ARGS (PG_KOI8R , PG_WIN866 );
263241
264242 buf = palloc (len * ENCODING_GROWTH_RATE );
265243 koi8r2mic (src , buf , len );
@@ -277,9 +255,7 @@ win866_to_koi8r(PG_FUNCTION_ARGS)
277255 int len = PG_GETARG_INT32 (4 );
278256 unsigned char * buf ;
279257
280- Assert (PG_GETARG_INT32 (0 ) == PG_WIN866 );
281- Assert (PG_GETARG_INT32 (1 ) == PG_KOI8R );
282- Assert (len >= 0 );
258+ CHECK_ENCODING_CONVERSION_ARGS (PG_WIN866 , PG_KOI8R );
283259
284260 buf = palloc (len * ENCODING_GROWTH_RATE );
285261 win8662mic (src , buf , len );
@@ -297,9 +273,7 @@ win866_to_win1251(PG_FUNCTION_ARGS)
297273 int len = PG_GETARG_INT32 (4 );
298274 unsigned char * buf ;
299275
300- Assert (PG_GETARG_INT32 (0 ) == PG_WIN866 );
301- Assert (PG_GETARG_INT32 (1 ) == PG_WIN1251 );
302- Assert (len >= 0 );
276+ CHECK_ENCODING_CONVERSION_ARGS (PG_WIN866 , PG_WIN1251 );
303277
304278 /*
305279 * Note: There are a few characters like the "Numero" sign that exist in
@@ -323,9 +297,7 @@ win1251_to_win866(PG_FUNCTION_ARGS)
323297 int len = PG_GETARG_INT32 (4 );
324298 unsigned char * buf ;
325299
326- Assert (PG_GETARG_INT32 (0 ) == PG_WIN1251 );
327- Assert (PG_GETARG_INT32 (1 ) == PG_WIN866 );
328- Assert (len >= 0 );
300+ CHECK_ENCODING_CONVERSION_ARGS (PG_WIN1251 , PG_WIN866 );
329301
330302 /* Use mic/KOI8R as intermediary, see comment in win866_to_win1251() */
331303 buf = palloc (len * ENCODING_GROWTH_RATE );
@@ -344,9 +316,7 @@ iso_to_koi8r(PG_FUNCTION_ARGS)
344316 int len = PG_GETARG_INT32 (4 );
345317 unsigned char * buf ;
346318
347- Assert (PG_GETARG_INT32 (0 ) == PG_ISO_8859_5 );
348- Assert (PG_GETARG_INT32 (1 ) == PG_KOI8R );
349- Assert (len >= 0 );
319+ CHECK_ENCODING_CONVERSION_ARGS (PG_ISO_8859_5 , PG_KOI8R );
350320
351321 buf = palloc (len * ENCODING_GROWTH_RATE );
352322 iso2mic (src , buf , len );
@@ -364,9 +334,7 @@ koi8r_to_iso(PG_FUNCTION_ARGS)
364334 int len = PG_GETARG_INT32 (4 );
365335 unsigned char * buf ;
366336
367- Assert (PG_GETARG_INT32 (0 ) == PG_KOI8R );
368- Assert (PG_GETARG_INT32 (1 ) == PG_ISO_8859_5 );
369- Assert (len >= 0 );
337+ CHECK_ENCODING_CONVERSION_ARGS (PG_KOI8R , PG_ISO_8859_5 );
370338
371339 buf = palloc (len * ENCODING_GROWTH_RATE );
372340 koi8r2mic (src , buf , len );
@@ -384,9 +352,7 @@ iso_to_win1251(PG_FUNCTION_ARGS)
384352 int len = PG_GETARG_INT32 (4 );
385353 unsigned char * buf ;
386354
387- Assert (PG_GETARG_INT32 (0 ) == PG_ISO_8859_5 );
388- Assert (PG_GETARG_INT32 (1 ) == PG_WIN1251 );
389- Assert (len >= 0 );
355+ CHECK_ENCODING_CONVERSION_ARGS (PG_ISO_8859_5 , PG_WIN1251 );
390356
391357 /* Use mic/KOI8R as intermediary, see comment in win866_to_win1251() */
392358 buf = palloc (len * ENCODING_GROWTH_RATE );
@@ -405,9 +371,7 @@ win1251_to_iso(PG_FUNCTION_ARGS)
405371 int len = PG_GETARG_INT32 (4 );
406372 unsigned char * buf ;
407373
408- Assert (PG_GETARG_INT32 (0 ) == PG_WIN1251 );
409- Assert (PG_GETARG_INT32 (1 ) == PG_ISO_8859_5 );
410- Assert (len >= 0 );
374+ CHECK_ENCODING_CONVERSION_ARGS (PG_WIN1251 , PG_ISO_8859_5 );
411375
412376 /* Use mic/KOI8R as intermediary, see comment in win866_to_win1251() */
413377 buf = palloc (len * ENCODING_GROWTH_RATE );
@@ -426,9 +390,7 @@ iso_to_win866(PG_FUNCTION_ARGS)
426390 int len = PG_GETARG_INT32 (4 );
427391 unsigned char * buf ;
428392
429- Assert (PG_GETARG_INT32 (0 ) == PG_ISO_8859_5 );
430- Assert (PG_GETARG_INT32 (1 ) == PG_WIN866 );
431- Assert (len >= 0 );
393+ CHECK_ENCODING_CONVERSION_ARGS (PG_ISO_8859_5 , PG_WIN866 );
432394
433395 /* Use mic/KOI8R as intermediary, see comment in win866_to_win1251() */
434396 buf = palloc (len * ENCODING_GROWTH_RATE );
@@ -447,9 +409,7 @@ win866_to_iso(PG_FUNCTION_ARGS)
447409 int len = PG_GETARG_INT32 (4 );
448410 unsigned char * buf ;
449411
450- Assert (PG_GETARG_INT32 (0 ) == PG_WIN866 );
451- Assert (PG_GETARG_INT32 (1 ) == PG_ISO_8859_5 );
452- Assert (len >= 0 );
412+ CHECK_ENCODING_CONVERSION_ARGS (PG_WIN866 , PG_ISO_8859_5 );
453413
454414 /* Use mic/KOI8R as intermediary, see comment in win866_to_win1251() */
455415 buf = palloc (len * ENCODING_GROWTH_RATE );
0 commit comments