|
|
|
@ -6,7 +6,7 @@ |
|
|
|
|
* Portions Copyright (c) 1994, Regents of the University of California |
|
|
|
|
* |
|
|
|
|
* IDENTIFICATION |
|
|
|
|
* $Header: /cvsroot/pgsql/src/backend/utils/mb/conversion_procs/cyrillic_and_mic/cyrillic_and_mic.c,v 1.3 2002/09/04 20:31:31 momjian Exp $ |
|
|
|
|
* $Header: /cvsroot/pgsql/src/backend/utils/mb/conversion_procs/cyrillic_and_mic/cyrillic_and_mic.c,v 1.4 2002/09/13 06:41:17 ishii Exp $ |
|
|
|
|
* |
|
|
|
|
*------------------------------------------------------------------------- |
|
|
|
|
*/ |
|
|
|
@ -88,11 +88,11 @@ koi8r_to_mic(PG_FUNCTION_ARGS) |
|
|
|
|
|
|
|
|
|
Assert(PG_GETARG_INT32(0) == PG_KOI8R); |
|
|
|
|
Assert(PG_GETARG_INT32(1) == PG_MULE_INTERNAL); |
|
|
|
|
Assert(len > 0); |
|
|
|
|
Assert(len >= 0); |
|
|
|
|
|
|
|
|
|
koi8r2mic(src, dest, len); |
|
|
|
|
|
|
|
|
|
PG_RETURN_INT32(0); |
|
|
|
|
PG_RETURN_VOID(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Datum |
|
|
|
@ -104,11 +104,11 @@ mic_to_koi8r(PG_FUNCTION_ARGS) |
|
|
|
|
|
|
|
|
|
Assert(PG_GETARG_INT32(0) == PG_MULE_INTERNAL); |
|
|
|
|
Assert(PG_GETARG_INT32(1) == PG_KOI8R); |
|
|
|
|
Assert(len > 0); |
|
|
|
|
Assert(len >= 0); |
|
|
|
|
|
|
|
|
|
mic2koi8r(src, dest, len); |
|
|
|
|
|
|
|
|
|
PG_RETURN_INT32(0); |
|
|
|
|
PG_RETURN_VOID(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Datum |
|
|
|
@ -120,11 +120,11 @@ iso_to_mic(PG_FUNCTION_ARGS) |
|
|
|
|
|
|
|
|
|
Assert(PG_GETARG_INT32(0) == PG_ISO_8859_5); |
|
|
|
|
Assert(PG_GETARG_INT32(1) == PG_MULE_INTERNAL); |
|
|
|
|
Assert(len > 0); |
|
|
|
|
Assert(len >= 0); |
|
|
|
|
|
|
|
|
|
iso2mic(src, dest, len); |
|
|
|
|
|
|
|
|
|
PG_RETURN_INT32(0); |
|
|
|
|
PG_RETURN_VOID(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Datum |
|
|
|
@ -136,11 +136,11 @@ mic_to_iso(PG_FUNCTION_ARGS) |
|
|
|
|
|
|
|
|
|
Assert(PG_GETARG_INT32(0) == PG_MULE_INTERNAL); |
|
|
|
|
Assert(PG_GETARG_INT32(1) == PG_ISO_8859_5); |
|
|
|
|
Assert(len > 0); |
|
|
|
|
Assert(len >= 0); |
|
|
|
|
|
|
|
|
|
mic2iso(src, dest, len); |
|
|
|
|
|
|
|
|
|
PG_RETURN_INT32(0); |
|
|
|
|
PG_RETURN_VOID(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Datum |
|
|
|
@ -152,11 +152,11 @@ win1251_to_mic(PG_FUNCTION_ARGS) |
|
|
|
|
|
|
|
|
|
Assert(PG_GETARG_INT32(0) == PG_WIN1251); |
|
|
|
|
Assert(PG_GETARG_INT32(1) == PG_MULE_INTERNAL); |
|
|
|
|
Assert(len > 0); |
|
|
|
|
Assert(len >= 0); |
|
|
|
|
|
|
|
|
|
win12512mic(src, dest, len); |
|
|
|
|
|
|
|
|
|
PG_RETURN_INT32(0); |
|
|
|
|
PG_RETURN_VOID(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Datum |
|
|
|
@ -168,11 +168,11 @@ mic_to_win1251(PG_FUNCTION_ARGS) |
|
|
|
|
|
|
|
|
|
Assert(PG_GETARG_INT32(0) == PG_MULE_INTERNAL); |
|
|
|
|
Assert(PG_GETARG_INT32(1) == PG_WIN1251); |
|
|
|
|
Assert(len > 0); |
|
|
|
|
Assert(len >= 0); |
|
|
|
|
|
|
|
|
|
mic2win1251(src, dest, len); |
|
|
|
|
|
|
|
|
|
PG_RETURN_INT32(0); |
|
|
|
|
PG_RETURN_VOID(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Datum |
|
|
|
@ -184,11 +184,11 @@ alt_to_mic(PG_FUNCTION_ARGS) |
|
|
|
|
|
|
|
|
|
Assert(PG_GETARG_INT32(0) == PG_ALT); |
|
|
|
|
Assert(PG_GETARG_INT32(1) == PG_MULE_INTERNAL); |
|
|
|
|
Assert(len > 0); |
|
|
|
|
Assert(len >= 0); |
|
|
|
|
|
|
|
|
|
alt2mic(src, dest, len); |
|
|
|
|
|
|
|
|
|
PG_RETURN_INT32(0); |
|
|
|
|
PG_RETURN_VOID(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Datum |
|
|
|
@ -200,11 +200,11 @@ mic_to_alt(PG_FUNCTION_ARGS) |
|
|
|
|
|
|
|
|
|
Assert(PG_GETARG_INT32(0) == PG_MULE_INTERNAL); |
|
|
|
|
Assert(PG_GETARG_INT32(1) == PG_ALT); |
|
|
|
|
Assert(len > 0); |
|
|
|
|
Assert(len >= 0); |
|
|
|
|
|
|
|
|
|
mic2alt(src, dest, len); |
|
|
|
|
|
|
|
|
|
PG_RETURN_INT32(0); |
|
|
|
|
PG_RETURN_VOID(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Datum |
|
|
|
@ -217,14 +217,14 @@ koi8r_to_win1251(PG_FUNCTION_ARGS) |
|
|
|
|
|
|
|
|
|
Assert(PG_GETARG_INT32(0) == PG_KOI8R); |
|
|
|
|
Assert(PG_GETARG_INT32(1) == PG_WIN1251); |
|
|
|
|
Assert(len > 0); |
|
|
|
|
Assert(len >= 0); |
|
|
|
|
|
|
|
|
|
buf = palloc(len * ENCODING_GROWTH_RATE); |
|
|
|
|
koi8r2mic(src, buf, len); |
|
|
|
|
mic2win1251(buf, dest, strlen(buf)); |
|
|
|
|
pfree(buf); |
|
|
|
|
|
|
|
|
|
PG_RETURN_INT32(0); |
|
|
|
|
PG_RETURN_VOID(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Datum |
|
|
|
@ -237,14 +237,14 @@ win1251_to_koi8r(PG_FUNCTION_ARGS) |
|
|
|
|
|
|
|
|
|
Assert(PG_GETARG_INT32(0) == PG_WIN1251); |
|
|
|
|
Assert(PG_GETARG_INT32(1) == PG_KOI8R); |
|
|
|
|
Assert(len > 0); |
|
|
|
|
Assert(len >= 0); |
|
|
|
|
|
|
|
|
|
buf = palloc(len * ENCODING_GROWTH_RATE); |
|
|
|
|
win12512mic(src, buf, len); |
|
|
|
|
mic2koi8r(buf, dest, strlen(buf)); |
|
|
|
|
pfree(buf); |
|
|
|
|
|
|
|
|
|
PG_RETURN_INT32(0); |
|
|
|
|
PG_RETURN_VOID(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Datum |
|
|
|
@ -257,14 +257,14 @@ koi8r_to_alt(PG_FUNCTION_ARGS) |
|
|
|
|
|
|
|
|
|
Assert(PG_GETARG_INT32(0) == PG_KOI8R); |
|
|
|
|
Assert(PG_GETARG_INT32(1) == PG_ALT); |
|
|
|
|
Assert(len > 0); |
|
|
|
|
Assert(len >= 0); |
|
|
|
|
|
|
|
|
|
buf = palloc(len * ENCODING_GROWTH_RATE); |
|
|
|
|
koi8r2mic(src, buf, len); |
|
|
|
|
mic2alt(buf, dest, strlen(buf)); |
|
|
|
|
pfree(buf); |
|
|
|
|
|
|
|
|
|
PG_RETURN_INT32(0); |
|
|
|
|
PG_RETURN_VOID(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Datum |
|
|
|
@ -277,14 +277,14 @@ alt_to_koi8r(PG_FUNCTION_ARGS) |
|
|
|
|
|
|
|
|
|
Assert(PG_GETARG_INT32(0) == PG_ALT); |
|
|
|
|
Assert(PG_GETARG_INT32(1) == PG_KOI8R); |
|
|
|
|
Assert(len > 0); |
|
|
|
|
Assert(len >= 0); |
|
|
|
|
|
|
|
|
|
buf = palloc(len * ENCODING_GROWTH_RATE); |
|
|
|
|
alt2mic(src, buf, len); |
|
|
|
|
mic2koi8r(buf, dest, strlen(buf)); |
|
|
|
|
pfree(buf); |
|
|
|
|
|
|
|
|
|
PG_RETURN_INT32(0); |
|
|
|
|
PG_RETURN_VOID(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Datum |
|
|
|
@ -297,14 +297,14 @@ alt_to_win1251(PG_FUNCTION_ARGS) |
|
|
|
|
|
|
|
|
|
Assert(PG_GETARG_INT32(0) == PG_ALT); |
|
|
|
|
Assert(PG_GETARG_INT32(1) == PG_WIN1251); |
|
|
|
|
Assert(len > 0); |
|
|
|
|
Assert(len >= 0); |
|
|
|
|
|
|
|
|
|
buf = palloc(len * ENCODING_GROWTH_RATE); |
|
|
|
|
alt2mic(src, buf, len); |
|
|
|
|
mic2win1251(buf, dest, strlen(buf)); |
|
|
|
|
pfree(buf); |
|
|
|
|
|
|
|
|
|
PG_RETURN_INT32(0); |
|
|
|
|
PG_RETURN_VOID(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Datum |
|
|
|
@ -317,14 +317,14 @@ win1251_to_alt(PG_FUNCTION_ARGS) |
|
|
|
|
|
|
|
|
|
Assert(PG_GETARG_INT32(0) == PG_WIN1251); |
|
|
|
|
Assert(PG_GETARG_INT32(1) == PG_ALT); |
|
|
|
|
Assert(len > 0); |
|
|
|
|
Assert(len >= 0); |
|
|
|
|
|
|
|
|
|
buf = palloc(len * ENCODING_GROWTH_RATE); |
|
|
|
|
win12512mic(src, buf, len); |
|
|
|
|
mic2alt(buf, dest, strlen(buf)); |
|
|
|
|
pfree(buf); |
|
|
|
|
|
|
|
|
|
PG_RETURN_INT32(0); |
|
|
|
|
PG_RETURN_VOID(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Datum |
|
|
|
@ -337,14 +337,14 @@ iso_to_koi8r(PG_FUNCTION_ARGS) |
|
|
|
|
|
|
|
|
|
Assert(PG_GETARG_INT32(0) == PG_ISO_8859_5); |
|
|
|
|
Assert(PG_GETARG_INT32(1) == PG_KOI8R); |
|
|
|
|
Assert(len > 0); |
|
|
|
|
Assert(len >= 0); |
|
|
|
|
|
|
|
|
|
buf = palloc(len * ENCODING_GROWTH_RATE); |
|
|
|
|
iso2mic(src, buf, len); |
|
|
|
|
mic2koi8r(buf, dest, strlen(buf)); |
|
|
|
|
pfree(buf); |
|
|
|
|
|
|
|
|
|
PG_RETURN_INT32(0); |
|
|
|
|
PG_RETURN_VOID(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Datum |
|
|
|
@ -357,14 +357,14 @@ koi8r_to_iso(PG_FUNCTION_ARGS) |
|
|
|
|
|
|
|
|
|
Assert(PG_GETARG_INT32(0) == PG_KOI8R); |
|
|
|
|
Assert(PG_GETARG_INT32(1) == PG_ISO_8859_5); |
|
|
|
|
Assert(len > 0); |
|
|
|
|
Assert(len >= 0); |
|
|
|
|
|
|
|
|
|
buf = palloc(len * ENCODING_GROWTH_RATE); |
|
|
|
|
koi8r2mic(src, buf, len); |
|
|
|
|
mic2iso(buf, dest, strlen(buf)); |
|
|
|
|
pfree(buf); |
|
|
|
|
|
|
|
|
|
PG_RETURN_INT32(0); |
|
|
|
|
PG_RETURN_VOID(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Datum |
|
|
|
@ -377,14 +377,14 @@ iso_to_win1251(PG_FUNCTION_ARGS) |
|
|
|
|
|
|
|
|
|
Assert(PG_GETARG_INT32(0) == PG_ISO_8859_5); |
|
|
|
|
Assert(PG_GETARG_INT32(1) == PG_WIN1251); |
|
|
|
|
Assert(len > 0); |
|
|
|
|
Assert(len >= 0); |
|
|
|
|
|
|
|
|
|
buf = palloc(len * ENCODING_GROWTH_RATE); |
|
|
|
|
iso2mic(src, buf, len); |
|
|
|
|
mic2win1251(buf, dest, strlen(buf)); |
|
|
|
|
pfree(buf); |
|
|
|
|
|
|
|
|
|
PG_RETURN_INT32(0); |
|
|
|
|
PG_RETURN_VOID(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Datum |
|
|
|
@ -397,14 +397,14 @@ win1251_to_iso(PG_FUNCTION_ARGS) |
|
|
|
|
|
|
|
|
|
Assert(PG_GETARG_INT32(0) == PG_WIN1251); |
|
|
|
|
Assert(PG_GETARG_INT32(1) == PG_ISO_8859_5); |
|
|
|
|
Assert(len > 0); |
|
|
|
|
Assert(len >= 0); |
|
|
|
|
|
|
|
|
|
buf = palloc(len * ENCODING_GROWTH_RATE); |
|
|
|
|
win12512mic(src, buf, len); |
|
|
|
|
mic2win1251(buf, dest, strlen(buf)); |
|
|
|
|
pfree(buf); |
|
|
|
|
|
|
|
|
|
PG_RETURN_INT32(0); |
|
|
|
|
PG_RETURN_VOID(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Datum |
|
|
|
@ -417,14 +417,14 @@ iso_to_alt(PG_FUNCTION_ARGS) |
|
|
|
|
|
|
|
|
|
Assert(PG_GETARG_INT32(0) == PG_ISO_8859_5); |
|
|
|
|
Assert(PG_GETARG_INT32(1) == PG_ALT); |
|
|
|
|
Assert(len > 0); |
|
|
|
|
Assert(len >= 0); |
|
|
|
|
|
|
|
|
|
buf = palloc(len * ENCODING_GROWTH_RATE); |
|
|
|
|
iso2mic(src, buf, len); |
|
|
|
|
mic2alt(buf, dest, strlen(buf)); |
|
|
|
|
pfree(buf); |
|
|
|
|
|
|
|
|
|
PG_RETURN_INT32(0); |
|
|
|
|
PG_RETURN_VOID(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Datum |
|
|
|
@ -437,14 +437,14 @@ alt_to_iso(PG_FUNCTION_ARGS) |
|
|
|
|
|
|
|
|
|
Assert(PG_GETARG_INT32(0) == PG_ALT); |
|
|
|
|
Assert(PG_GETARG_INT32(1) == PG_ISO_8859_5); |
|
|
|
|
Assert(len > 0); |
|
|
|
|
Assert(len >= 0); |
|
|
|
|
|
|
|
|
|
buf = palloc(len * ENCODING_GROWTH_RATE); |
|
|
|
|
alt2mic(src, buf, len); |
|
|
|
|
mic2alt(buf, dest, strlen(buf)); |
|
|
|
|
pfree(buf); |
|
|
|
|
|
|
|
|
|
PG_RETURN_INT32(0); |
|
|
|
|
PG_RETURN_VOID(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|