Skip to content

Commit f48b9f9

Browse files
committed
Support for automatic code conversion between UNICODE and other
encodings
1 parent de53ce8 commit f48b9f9

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

src/include/mb/pg_wchar.h

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* $Id: pg_wchar.h,v 1.17 2000/08/25 14:24:09 ishii Exp $ */
1+
/* $Id: pg_wchar.h,v 1.18 2000/10/12 06:08:28 ishii Exp $ */
22

33
#ifndef PG_WCHAR_H
44
#define PG_WCHAR_H
@@ -82,6 +82,8 @@ typedef struct
8282
* client only */
8383
void (*to_mic) (); /* client encoding to MIC */
8484
void (*from_mic) (); /* MIC to client encoding */
85+
void (*to_unicode) (); /* client encoding to UTF-8 */
86+
void (*from_unicode) (); /* UTF-8 to client encoding */
8587
} pg_encoding_conv_tbl;
8688

8789
extern pg_encoding_conv_tbl pg_conv_tbl[];
@@ -95,13 +97,27 @@ typedef struct
9597

9698
extern pg_wchar_tbl pg_wchar_table[];
9799

100+
typedef struct
101+
{
102+
unsigned int utf; /* UTF-8 */
103+
unsigned int code; /* local code */
104+
unsigned char encoding; /* encoding */
105+
} pg_utf_to_local;
106+
107+
typedef struct
108+
{
109+
unsigned int code; /* local code */
110+
unsigned int utf; /* UTF-8 */
111+
} pg_local_to_utf;
112+
98113
extern int pg_mb2wchar(const unsigned char *, pg_wchar *);
99114
extern int pg_mb2wchar_with_len(const unsigned char *, pg_wchar *, int);
100115
extern int pg_char_and_wchar_strcmp(const char *, const pg_wchar *);
101116
extern int pg_wchar_strncmp(const pg_wchar *, const pg_wchar *, size_t);
102117
extern int pg_char_and_wchar_strncmp(const char *, const pg_wchar *, size_t);
103118
extern size_t pg_wchar_strlen(const pg_wchar *);
104119
extern int pg_mblen(const unsigned char *);
120+
extern int pg_mblen_with_encoding(const unsigned char *, int);
105121
extern int pg_encoding_mblen(int, const unsigned char *);
106122
extern int pg_mule_mblen(const unsigned char *);
107123
extern int pg_mic_mblen(const unsigned char *);
@@ -120,6 +136,8 @@ extern int pg_get_client_encoding(void);
120136
extern unsigned char *pg_client_to_server(unsigned char *, int);
121137
extern unsigned char *pg_server_to_client(unsigned char *, int);
122138
extern int pg_valid_client_encoding(const char *);
139+
extern pg_encoding_conv_tbl *pg_get_enc_ent(int);
140+
extern int pg_utf_mblen(const unsigned char *);
123141

124142
/* internally-used versions of functions. The PG_xxx forms of these
125143
* functions have fmgr-compatible interfaves.

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy