mirror of
https://github.com/postgres/postgres.git
synced 2025-06-02 00:01:40 -04:00
Change pg_mblen and pg_encoding_mblen return types from void
to int so that they return the number of whcars.
This commit is contained in:
parent
86ff9d2912
commit
bfdd6a716d
@ -4,7 +4,7 @@
|
|||||||
# Makefile for utils/mb
|
# Makefile for utils/mb
|
||||||
#
|
#
|
||||||
# IDENTIFICATION
|
# IDENTIFICATION
|
||||||
# $Header: /cvsroot/pgsql/src/backend/utils/mb/Makefile,v 1.8 2000/05/29 05:45:34 tgl Exp $
|
# $Header: /cvsroot/pgsql/src/backend/utils/mb/Makefile,v 1.9 2000/08/27 10:40:48 ishii Exp $
|
||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -19,9 +19,22 @@ all: SUBSYS.o
|
|||||||
SUBSYS.o: $(OBJS)
|
SUBSYS.o: $(OBJS)
|
||||||
$(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
|
$(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)
|
||||||
|
|
||||||
sjistest: $(OBJS)
|
palloc.o: palloc.c
|
||||||
$(CC) -c $(CFLAGS) -DDEBUGMAIN conv.c
|
$(CC) -c $(CFLAGS) palloc.c
|
||||||
$(CC) -o sjistest conv.o \
|
|
||||||
|
sjistest.o: sjistest.c
|
||||||
|
$(CC) -c $(CFLAGS) sjistest.c
|
||||||
|
|
||||||
|
liketest.o: liketest.c
|
||||||
|
$(CC) -c $(CFLAGS) liketest.c
|
||||||
|
|
||||||
|
sjistest: $(OBJS) sjistest.o palloc.o
|
||||||
|
$(CC) -o sjistest sjistest.o palloc.o \
|
||||||
|
common.o mbutils.o wchar.o wstrcmp.o wstrncmp.o variable.o \
|
||||||
|
big5.o $(LDFLAGS)
|
||||||
|
|
||||||
|
liketest: $(OBJS) liketest.o palloc.o
|
||||||
|
$(CC) -o liketest liketest.o palloc.o conv.o \
|
||||||
common.o mbutils.o wchar.o wstrcmp.o wstrncmp.o variable.o \
|
common.o mbutils.o wchar.o wstrcmp.o wstrncmp.o variable.o \
|
||||||
big5.o $(LDFLAGS)
|
big5.o $(LDFLAGS)
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
* WIN1250 client encoding support contributed by Pavel Behal
|
* WIN1250 client encoding support contributed by Pavel Behal
|
||||||
* SJIS UDC (NEC selection IBM kanji) support contributed by Eiji Tokuya
|
* SJIS UDC (NEC selection IBM kanji) support contributed by Eiji Tokuya
|
||||||
*
|
*
|
||||||
* $Id: conv.c,v 1.16 2000/06/28 03:32:45 tgl Exp $
|
* $Id: conv.c,v 1.17 2000/08/27 10:40:48 ishii Exp $
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@ -1519,70 +1519,3 @@ pg_encoding_conv_tbl pg_conv_tbl[] = {
|
|||||||
{WIN1250, "WIN1250", 1, win12502mic, mic2win1250}, /* WIN 1250 */
|
{WIN1250, "WIN1250", 1, win12502mic, mic2win1250}, /* WIN 1250 */
|
||||||
{-1, "", 0, 0, 0} /* end mark */
|
{-1, "", 0, 0, 0} /* end mark */
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef DEBUGMAIN
|
|
||||||
#include "postgres.h"
|
|
||||||
#include "utils/memutils.h"
|
|
||||||
/*
|
|
||||||
* testing for sjis2mic() and mic2sjis()
|
|
||||||
*/
|
|
||||||
|
|
||||||
int
|
|
||||||
main()
|
|
||||||
{
|
|
||||||
unsigned char eucbuf[1024];
|
|
||||||
unsigned char sjisbuf[1024];
|
|
||||||
unsigned char sjis[] = {0x81, 0x40, 0xa1, 0xf0, 0x40, 0xf0, 0x9e, 0xf5, 0x40, 0xfa, 0x40, 0xfa, 0x54, 0xfa, 0x7b, 0x00};
|
|
||||||
|
|
||||||
int i;
|
|
||||||
|
|
||||||
sjis2mic(sjis, eucbuf, 1024);
|
|
||||||
for (i = 0; i < 1024; i++)
|
|
||||||
{
|
|
||||||
if (eucbuf[i])
|
|
||||||
printf("%02x ", eucbuf[i]);
|
|
||||||
else
|
|
||||||
{
|
|
||||||
printf("\n");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
mic2sjis(eucbuf, sjisbuf, 1024);
|
|
||||||
for (i = 0; i < 1024; i++)
|
|
||||||
{
|
|
||||||
if (sjisbuf[i])
|
|
||||||
printf("%02x ", sjisbuf[i]);
|
|
||||||
else
|
|
||||||
{
|
|
||||||
printf("\n");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return (0);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
elog(int lev, const char *fmt,...)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
MemoryContext CurrentMemoryContext;
|
|
||||||
|
|
||||||
void *
|
|
||||||
MemoryContextAlloc(MemoryContext context, Size size)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
pfree(void *pointer)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void *
|
|
||||||
repalloc(void *pointer, Size size)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
* client encoding and server internal encoding.
|
* client encoding and server internal encoding.
|
||||||
* (currently mule internal code (mic) is used)
|
* (currently mule internal code (mic) is used)
|
||||||
* Tatsuo Ishii
|
* Tatsuo Ishii
|
||||||
* $Id: mbutils.c,v 1.10 2000/06/13 07:35:12 tgl Exp $ */
|
* $Id: mbutils.c,v 1.11 2000/08/27 10:40:48 ishii Exp $ */
|
||||||
|
|
||||||
|
|
||||||
#include "postgres.h"
|
#include "postgres.h"
|
||||||
@ -173,17 +173,17 @@ pg_server_to_client(unsigned char *s, int len)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* convert a multi-byte string to a wchar */
|
/* convert a multi-byte string to a wchar */
|
||||||
void
|
int
|
||||||
pg_mb2wchar(const unsigned char *from, pg_wchar * to)
|
pg_mb2wchar(const unsigned char *from, pg_wchar * to)
|
||||||
{
|
{
|
||||||
(*pg_wchar_table[GetDatabaseEncoding()].mb2wchar_with_len) (from, to, strlen(from));
|
return (*pg_wchar_table[GetDatabaseEncoding()].mb2wchar_with_len) (from, to, strlen(from));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* convert a multi-byte string to a wchar with a limited length */
|
/* convert a multi-byte string to a wchar with a limited length */
|
||||||
void
|
int
|
||||||
pg_mb2wchar_with_len(const unsigned char *from, pg_wchar * to, int len)
|
pg_mb2wchar_with_len(const unsigned char *from, pg_wchar * to, int len)
|
||||||
{
|
{
|
||||||
(*pg_wchar_table[GetDatabaseEncoding()].mb2wchar_with_len) (from, to, len);
|
return (*pg_wchar_table[GetDatabaseEncoding()].mb2wchar_with_len) (from, to, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* returns the byte length of a multi-byte word */
|
/* returns the byte length of a multi-byte word */
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* conversion functions between pg_wchar and multi-byte streams.
|
* conversion functions between pg_wchar and multi-byte streams.
|
||||||
* Tatsuo Ishii
|
* Tatsuo Ishii
|
||||||
* $Id: wchar.c,v 1.11 2000/04/12 17:16:06 momjian Exp $
|
* $Id: wchar.c,v 1.12 2000/08/27 10:40:48 ishii Exp $
|
||||||
*
|
*
|
||||||
* WIN1250 client encoding updated by Pavel Behal
|
* WIN1250 client encoding updated by Pavel Behal
|
||||||
*
|
*
|
||||||
@ -20,15 +20,19 @@
|
|||||||
/*
|
/*
|
||||||
* SQL/ASCII
|
* SQL/ASCII
|
||||||
*/
|
*/
|
||||||
static void pg_ascii2wchar_with_len
|
static int pg_ascii2wchar_with_len
|
||||||
(const unsigned char *from, pg_wchar * to, int len)
|
(const unsigned char *from, pg_wchar * to, int len)
|
||||||
{
|
{
|
||||||
|
int cnt = 0;
|
||||||
|
|
||||||
while (*from && len > 0)
|
while (*from && len > 0)
|
||||||
{
|
{
|
||||||
*to++ = *from++;
|
*to++ = *from++;
|
||||||
len--;
|
len--;
|
||||||
|
cnt++;
|
||||||
}
|
}
|
||||||
*to = 0;
|
*to = 0;
|
||||||
|
return(cnt);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@ -41,9 +45,11 @@ pg_ascii_mblen(const unsigned char *s)
|
|||||||
* EUC
|
* EUC
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static void pg_euc2wchar_with_len
|
static int pg_euc2wchar_with_len
|
||||||
(const unsigned char *from, pg_wchar * to, int len)
|
(const unsigned char *from, pg_wchar * to, int len)
|
||||||
{
|
{
|
||||||
|
int cnt = 0;
|
||||||
|
|
||||||
while (*from && len > 0)
|
while (*from && len > 0)
|
||||||
{
|
{
|
||||||
if (*from == SS2)
|
if (*from == SS2)
|
||||||
@ -72,8 +78,10 @@ static void pg_euc2wchar_with_len
|
|||||||
len--;
|
len--;
|
||||||
}
|
}
|
||||||
to++;
|
to++;
|
||||||
|
cnt++;
|
||||||
}
|
}
|
||||||
*to = 0;
|
*to = 0;
|
||||||
|
return(cnt);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@ -95,10 +103,10 @@ pg_euc_mblen(const unsigned char *s)
|
|||||||
/*
|
/*
|
||||||
* EUC_JP
|
* EUC_JP
|
||||||
*/
|
*/
|
||||||
static void pg_eucjp2wchar_with_len
|
static int pg_eucjp2wchar_with_len
|
||||||
(const unsigned char *from, pg_wchar * to, int len)
|
(const unsigned char *from, pg_wchar * to, int len)
|
||||||
{
|
{
|
||||||
pg_euc2wchar_with_len(from, to, len);
|
return(pg_euc2wchar_with_len(from, to, len));
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@ -110,10 +118,10 @@ pg_eucjp_mblen(const unsigned char *s)
|
|||||||
/*
|
/*
|
||||||
* EUC_KR
|
* EUC_KR
|
||||||
*/
|
*/
|
||||||
static void pg_euckr2wchar_with_len
|
static int pg_euckr2wchar_with_len
|
||||||
(const unsigned char *from, pg_wchar * to, int len)
|
(const unsigned char *from, pg_wchar * to, int len)
|
||||||
{
|
{
|
||||||
pg_euc2wchar_with_len(from, to, len);
|
return(pg_euc2wchar_with_len(from, to, len));
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@ -125,9 +133,11 @@ pg_euckr_mblen(const unsigned char *s)
|
|||||||
/*
|
/*
|
||||||
* EUC_CN
|
* EUC_CN
|
||||||
*/
|
*/
|
||||||
static void pg_euccn2wchar_with_len
|
static int pg_euccn2wchar_with_len
|
||||||
(const unsigned char *from, pg_wchar * to, int len)
|
(const unsigned char *from, pg_wchar * to, int len)
|
||||||
{
|
{
|
||||||
|
int cnt = 0;
|
||||||
|
|
||||||
while (*from && len > 0)
|
while (*from && len > 0)
|
||||||
{
|
{
|
||||||
if (*from == SS2)
|
if (*from == SS2)
|
||||||
@ -157,8 +167,10 @@ static void pg_euccn2wchar_with_len
|
|||||||
len--;
|
len--;
|
||||||
}
|
}
|
||||||
to++;
|
to++;
|
||||||
|
cnt++;
|
||||||
}
|
}
|
||||||
*to = 0;
|
*to = 0;
|
||||||
|
return(cnt);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@ -176,9 +188,11 @@ pg_euccn_mblen(const unsigned char *s)
|
|||||||
/*
|
/*
|
||||||
* EUC_TW
|
* EUC_TW
|
||||||
*/
|
*/
|
||||||
static void pg_euctw2wchar_with_len
|
static int pg_euctw2wchar_with_len
|
||||||
(const unsigned char *from, pg_wchar * to, int len)
|
(const unsigned char *from, pg_wchar * to, int len)
|
||||||
{
|
{
|
||||||
|
int cnt = 0;
|
||||||
|
|
||||||
while (*from && len > 0)
|
while (*from && len > 0)
|
||||||
{
|
{
|
||||||
if (*from == SS2)
|
if (*from == SS2)
|
||||||
@ -209,8 +223,10 @@ static void pg_euctw2wchar_with_len
|
|||||||
len--;
|
len--;
|
||||||
}
|
}
|
||||||
to++;
|
to++;
|
||||||
|
cnt++;
|
||||||
}
|
}
|
||||||
*to = 0;
|
*to = 0;
|
||||||
|
return(cnt);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@ -235,12 +251,13 @@ pg_euctw_mblen(const unsigned char *s)
|
|||||||
* len: length of from.
|
* len: length of from.
|
||||||
* "from" not necessarily null terminated.
|
* "from" not necessarily null terminated.
|
||||||
*/
|
*/
|
||||||
static void
|
static int
|
||||||
pg_utf2wchar_with_len(const unsigned char *from, pg_wchar * to, int len)
|
pg_utf2wchar_with_len(const unsigned char *from, pg_wchar * to, int len)
|
||||||
{
|
{
|
||||||
unsigned char c1,
|
unsigned char c1,
|
||||||
c2,
|
c2,
|
||||||
c3;
|
c3;
|
||||||
|
int cnt = 0;
|
||||||
|
|
||||||
while (*from && len > 0)
|
while (*from && len > 0)
|
||||||
{
|
{
|
||||||
@ -273,8 +290,10 @@ pg_utf2wchar_with_len(const unsigned char *from, pg_wchar * to, int len)
|
|||||||
len--;
|
len--;
|
||||||
}
|
}
|
||||||
to++;
|
to++;
|
||||||
|
cnt++;
|
||||||
}
|
}
|
||||||
*to = 0;
|
*to = 0;
|
||||||
|
return(cnt);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
@ -297,9 +316,11 @@ pg_utf_mblen(const unsigned char *s)
|
|||||||
* len: length of from.
|
* len: length of from.
|
||||||
* "from" not necessarily null terminated.
|
* "from" not necessarily null terminated.
|
||||||
*/
|
*/
|
||||||
static void
|
static int
|
||||||
pg_mule2wchar_with_len(const unsigned char *from, pg_wchar * to, int len)
|
pg_mule2wchar_with_len(const unsigned char *from, pg_wchar * to, int len)
|
||||||
{
|
{
|
||||||
|
int cnt = 0;
|
||||||
|
|
||||||
while (*from && len > 0)
|
while (*from && len > 0)
|
||||||
{
|
{
|
||||||
if (IS_LC1(*from))
|
if (IS_LC1(*from))
|
||||||
@ -336,8 +357,10 @@ pg_mule2wchar_with_len(const unsigned char *from, pg_wchar * to, int len)
|
|||||||
len--;
|
len--;
|
||||||
}
|
}
|
||||||
to++;
|
to++;
|
||||||
|
cnt++;
|
||||||
}
|
}
|
||||||
*to = 0;
|
*to = 0;
|
||||||
|
return(cnt);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
@ -363,12 +386,18 @@ pg_mule_mblen(const unsigned char *s)
|
|||||||
/*
|
/*
|
||||||
* ISO8859-1
|
* ISO8859-1
|
||||||
*/
|
*/
|
||||||
static void
|
static int
|
||||||
pg_latin12wchar_with_len(const unsigned char *from, pg_wchar * to, int len)
|
pg_latin12wchar_with_len(const unsigned char *from, pg_wchar * to, int len)
|
||||||
{
|
{
|
||||||
|
int cnt = 0;
|
||||||
|
|
||||||
while (*from && len-- > 0)
|
while (*from && len-- > 0)
|
||||||
|
{
|
||||||
*to++ = *from++;
|
*to++ = *from++;
|
||||||
|
cnt++;
|
||||||
|
}
|
||||||
*to = 0;
|
*to = 0;
|
||||||
|
return(cnt);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
Loading…
x
Reference in New Issue
Block a user