30 lines
916 B
C
30 lines
916 B
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* Multibyte character printing support for frontend code
|
|
*
|
|
*
|
|
* Portions Copyright (c) 1996-2019, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* src/include/fe_utils/mbprint.h
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
#ifndef MBPRINT_H
|
|
#define MBPRINT_H
|
|
|
|
struct lineptr
|
|
{
|
|
unsigned char *ptr;
|
|
int width;
|
|
};
|
|
|
|
extern unsigned char *mbvalidate(unsigned char *pwcs, int encoding);
|
|
extern int pg_wcswidth(const char *pwcs, size_t len, int encoding);
|
|
extern void pg_wcsformat(const unsigned char *pwcs, size_t len, int encoding,
|
|
struct lineptr *lines, int count);
|
|
extern void pg_wcssize(const unsigned char *pwcs, size_t len, int encoding,
|
|
int *width, int *height, int *format_size);
|
|
|
|
#endif /* MBPRINT_H */
|