Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit0d65eea

Browse files
committed
Replace argument-checking Asserts with regular test-and-elog checks in all
encoding conversion functions. These are not can't-happen cases becauseit's possible to create a conversion with the wrong conversion functionfor the specified encoding pair. That would lead to an Assert crash inan Assert-enabled build, or incorrect conversion otherwise, neither ofwhich is desirable. This would be a DOS issue if production databaseswere customarily built with asserts enabled, but fortunately that's not so.Per an observation by Heikki.Back-patch to all supported branches.
1 parentb5b3134 commit0d65eea

File tree

28 files changed

+166
-282
lines changed

28 files changed

+166
-282
lines changed

‎src/backend/utils/mb/conversion_procs/ascii_and_mic/ascii_and_mic.c

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* Portions Copyright (c) 1994, Regents of the University of California
77
*
88
* IDENTIFICATION
9-
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/ascii_and_mic/ascii_and_mic.c,v 1.15 2009/01/01 17:23:51 momjian Exp $
9+
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/ascii_and_mic/ascii_and_mic.c,v 1.16 2009/01/29 19:23:39 tgl Exp $
1010
*
1111
*-------------------------------------------------------------------------
1212
*/
@@ -41,9 +41,7 @@ ascii_to_mic(PG_FUNCTION_ARGS)
4141
unsignedchar*dest= (unsignedchar*)PG_GETARG_CSTRING(3);
4242
intlen=PG_GETARG_INT32(4);
4343

44-
Assert(PG_GETARG_INT32(0)==PG_SQL_ASCII);
45-
Assert(PG_GETARG_INT32(1)==PG_MULE_INTERNAL);
46-
Assert(len >=0);
44+
CHECK_ENCODING_CONVERSION_ARGS(PG_SQL_ASCII,PG_MULE_INTERNAL);
4745

4846
pg_ascii2mic(src,dest,len);
4947

@@ -57,9 +55,7 @@ mic_to_ascii(PG_FUNCTION_ARGS)
5755
unsignedchar*dest= (unsignedchar*)PG_GETARG_CSTRING(3);
5856
intlen=PG_GETARG_INT32(4);
5957

60-
Assert(PG_GETARG_INT32(0)==PG_MULE_INTERNAL);
61-
Assert(PG_GETARG_INT32(1)==PG_SQL_ASCII);
62-
Assert(len >=0);
58+
CHECK_ENCODING_CONVERSION_ARGS(PG_MULE_INTERNAL,PG_SQL_ASCII);
6359

6460
pg_mic2ascii(src,dest,len);
6561

‎src/backend/utils/mb/conversion_procs/cyrillic_and_mic/cyrillic_and_mic.c

Lines changed: 21 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
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
unsignedchar*dest= (unsignedchar*)PG_GETARG_CSTRING(3);
8989
intlen=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
unsignedchar*dest= (unsignedchar*)PG_GETARG_CSTRING(3);
105103
intlen=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
unsignedchar*dest= (unsignedchar*)PG_GETARG_CSTRING(3);
121117
intlen=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
unsignedchar*dest= (unsignedchar*)PG_GETARG_CSTRING(3);
137131
intlen=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
unsignedchar*dest= (unsignedchar*)PG_GETARG_CSTRING(3);
153145
intlen=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
unsignedchar*dest= (unsignedchar*)PG_GETARG_CSTRING(3);
169159
intlen=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
unsignedchar*dest= (unsignedchar*)PG_GETARG_CSTRING(3);
185173
intlen=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
unsignedchar*dest= (unsignedchar*)PG_GETARG_CSTRING(3);
201187
intlen=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
intlen=PG_GETARG_INT32(4);
218202
unsignedchar*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
intlen=PG_GETARG_INT32(4);
238220
unsignedchar*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
intlen=PG_GETARG_INT32(4);
258238
unsignedchar*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
intlen=PG_GETARG_INT32(4);
278256
unsignedchar*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
intlen=PG_GETARG_INT32(4);
298274
unsignedchar*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
intlen=PG_GETARG_INT32(4);
324298
unsignedchar*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
intlen=PG_GETARG_INT32(4);
345317
unsignedchar*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
intlen=PG_GETARG_INT32(4);
365335
unsignedchar*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
intlen=PG_GETARG_INT32(4);
385353
unsignedchar*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
intlen=PG_GETARG_INT32(4);
406372
unsignedchar*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
intlen=PG_GETARG_INT32(4);
427391
unsignedchar*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
intlen=PG_GETARG_INT32(4);
448410
unsignedchar*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);

‎src/backend/utils/mb/conversion_procs/euc_cn_and_mic/euc_cn_and_mic.c

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* Portions Copyright (c) 1994, Regents of the University of California
77
*
88
* IDENTIFICATION
9-
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/euc_cn_and_mic/euc_cn_and_mic.c,v 1.18 2009/01/01 17:23:51 momjian Exp $
9+
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/euc_cn_and_mic/euc_cn_and_mic.c,v 1.19 2009/01/29 19:23:39 tgl Exp $
1010
*
1111
*-------------------------------------------------------------------------
1212
*/
@@ -44,9 +44,7 @@ euc_cn_to_mic(PG_FUNCTION_ARGS)
4444
unsignedchar*dest= (unsignedchar*)PG_GETARG_CSTRING(3);
4545
intlen=PG_GETARG_INT32(4);
4646

47-
Assert(PG_GETARG_INT32(0)==PG_EUC_CN);
48-
Assert(PG_GETARG_INT32(1)==PG_MULE_INTERNAL);
49-
Assert(len >=0);
47+
CHECK_ENCODING_CONVERSION_ARGS(PG_EUC_CN,PG_MULE_INTERNAL);
5048

5149
euc_cn2mic(src,dest,len);
5250

@@ -60,9 +58,7 @@ mic_to_euc_cn(PG_FUNCTION_ARGS)
6058
unsignedchar*dest= (unsignedchar*)PG_GETARG_CSTRING(3);
6159
intlen=PG_GETARG_INT32(4);
6260

63-
Assert(PG_GETARG_INT32(0)==PG_MULE_INTERNAL);
64-
Assert(PG_GETARG_INT32(1)==PG_EUC_CN);
65-
Assert(len >=0);
61+
CHECK_ENCODING_CONVERSION_ARGS(PG_MULE_INTERNAL,PG_EUC_CN);
6662

6763
mic2euc_cn(src,dest,len);
6864

‎src/backend/utils/mb/conversion_procs/euc_jis_2004_and_shift_jis_2004/euc_jis_2004_and_shift_jis_2004.c

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* Copyright (c) 2007-2009, PostgreSQL Global Development Group
66
*
77
* IDENTIFICATION
8-
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/euc_jis_2004_and_shift_jis_2004/euc_jis_2004_and_shift_jis_2004.c,v 1.5 2009/01/01 17:23:51 momjian Exp $
8+
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/euc_jis_2004_and_shift_jis_2004/euc_jis_2004_and_shift_jis_2004.c,v 1.6 2009/01/29 19:23:39 tgl Exp $
99
*
1010
*-------------------------------------------------------------------------
1111
*/
@@ -43,9 +43,7 @@ euc_jis_2004_to_shift_jis_2004(PG_FUNCTION_ARGS)
4343
unsignedchar*dest= (unsignedchar*)PG_GETARG_CSTRING(3);
4444
intlen=PG_GETARG_INT32(4);
4545

46-
Assert(PG_GETARG_INT32(0)==PG_EUC_JIS_2004);
47-
Assert(PG_GETARG_INT32(1)==PG_SHIFT_JIS_2004);
48-
Assert(len >=0);
46+
CHECK_ENCODING_CONVERSION_ARGS(PG_EUC_JIS_2004,PG_SHIFT_JIS_2004);
4947

5048
euc_jis_20042shift_jis_2004(src,dest,len);
5149

@@ -59,9 +57,7 @@ shift_jis_2004_to_euc_jis_2004(PG_FUNCTION_ARGS)
5957
unsignedchar*dest= (unsignedchar*)PG_GETARG_CSTRING(3);
6058
intlen=PG_GETARG_INT32(4);
6159

62-
Assert(PG_GETARG_INT32(0)==PG_SHIFT_JIS_2004);
63-
Assert(PG_GETARG_INT32(1)==PG_EUC_JIS_2004);
64-
Assert(len >=0);
60+
CHECK_ENCODING_CONVERSION_ARGS(PG_SHIFT_JIS_2004,PG_EUC_JIS_2004);
6561

6662
shift_jis_20042euc_jis_2004(src,dest,len);
6763

‎src/backend/utils/mb/conversion_procs/euc_jp_and_sjis/euc_jp_and_sjis.c

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
* Portions Copyright (c) 1994, Regents of the University of California
77
*
88
* IDENTIFICATION
9-
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/euc_jp_and_sjis/euc_jp_and_sjis.c,v 1.20 2009/01/01 17:23:51 momjian Exp $
9+
* $PostgreSQL: pgsql/src/backend/utils/mb/conversion_procs/euc_jp_and_sjis/euc_jp_and_sjis.c,v 1.21 2009/01/29 19:23:39 tgl Exp $
1010
*
1111
*-------------------------------------------------------------------------
1212
*/
@@ -70,9 +70,7 @@ euc_jp_to_sjis(PG_FUNCTION_ARGS)
7070
unsignedchar*dest= (unsignedchar*)PG_GETARG_CSTRING(3);
7171
intlen=PG_GETARG_INT32(4);
7272

73-
Assert(PG_GETARG_INT32(0)==PG_EUC_JP);
74-
Assert(PG_GETARG_INT32(1)==PG_SJIS);
75-
Assert(len >=0);
73+
CHECK_ENCODING_CONVERSION_ARGS(PG_EUC_JP,PG_SJIS);
7674

7775
euc_jp2sjis(src,dest,len);
7876

@@ -86,9 +84,7 @@ sjis_to_euc_jp(PG_FUNCTION_ARGS)
8684
unsignedchar*dest= (unsignedchar*)PG_GETARG_CSTRING(3);
8785
intlen=PG_GETARG_INT32(4);
8886

89-
Assert(PG_GETARG_INT32(0)==PG_SJIS);
90-
Assert(PG_GETARG_INT32(1)==PG_EUC_JP);
91-
Assert(len >=0);
87+
CHECK_ENCODING_CONVERSION_ARGS(PG_SJIS,PG_EUC_JP);
9288

9389
sjis2euc_jp(src,dest,len);
9490

@@ -102,9 +98,7 @@ euc_jp_to_mic(PG_FUNCTION_ARGS)
10298
unsignedchar*dest= (unsignedchar*)PG_GETARG_CSTRING(3);
10399
intlen=PG_GETARG_INT32(4);
104100

105-
Assert(PG_GETARG_INT32(0)==PG_EUC_JP);
106-
Assert(PG_GETARG_INT32(1)==PG_MULE_INTERNAL);
107-
Assert(len >=0);
101+
CHECK_ENCODING_CONVERSION_ARGS(PG_EUC_JP,PG_MULE_INTERNAL);
108102

109103
euc_jp2mic(src,dest,len);
110104

@@ -118,9 +112,7 @@ mic_to_euc_jp(PG_FUNCTION_ARGS)
118112
unsignedchar*dest= (unsignedchar*)PG_GETARG_CSTRING(3);
119113
intlen=PG_GETARG_INT32(4);
120114

121-
Assert(PG_GETARG_INT32(0)==PG_MULE_INTERNAL);
122-
Assert(PG_GETARG_INT32(1)==PG_EUC_JP);
123-
Assert(len >=0);
115+
CHECK_ENCODING_CONVERSION_ARGS(PG_MULE_INTERNAL,PG_EUC_JP);
124116

125117
mic2euc_jp(src,dest,len);
126118

@@ -134,9 +126,7 @@ sjis_to_mic(PG_FUNCTION_ARGS)
134126
unsignedchar*dest= (unsignedchar*)PG_GETARG_CSTRING(3);
135127
intlen=PG_GETARG_INT32(4);
136128

137-
Assert(PG_GETARG_INT32(0)==PG_SJIS);
138-
Assert(PG_GETARG_INT32(1)==PG_MULE_INTERNAL);
139-
Assert(len >=0);
129+
CHECK_ENCODING_CONVERSION_ARGS(PG_SJIS,PG_MULE_INTERNAL);
140130

141131
sjis2mic(src,dest,len);
142132

@@ -150,9 +140,7 @@ mic_to_sjis(PG_FUNCTION_ARGS)
150140
unsignedchar*dest= (unsignedchar*)PG_GETARG_CSTRING(3);
151141
intlen=PG_GETARG_INT32(4);
152142

153-
Assert(PG_GETARG_INT32(0)==PG_MULE_INTERNAL);
154-
Assert(PG_GETARG_INT32(1)==PG_SJIS);
155-
Assert(len >=0);
143+
CHECK_ENCODING_CONVERSION_ARGS(PG_MULE_INTERNAL,PG_SJIS);
156144

157145
mic2sjis(src,dest,len);
158146

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp