postgresql/src/backend/utils/mb
Peter Eisentraut dbbca2cf29 Remove unused #include's from backend .c files
as determined by include-what-you-use (IWYU)

While IWYU also suggests to *add* a bunch of #include's (which is its
main purpose), this patch does not do that.  In some cases, a more
specific #include replaces another less specific one.

Some manual adjustments of the automatic result:

- IWYU currently doesn't know about includes that provide global
  variable declarations (like -Wmissing-variable-declarations), so
  those includes are being kept manually.

- All includes for port(ability) headers are being kept for now, to
  play it safe.

- No changes of catalog/pg_foo.h to catalog/pg_foo_d.h, to keep the
  patch from exploding in size.

Note that this patch touches just *.c files, so nothing declared in
header files changes in hidden ways.

As a small example, in src/backend/access/transam/rmgr.c, some IWYU
pragma annotations are added to handle a special case there.

Discussion: https://www.postgresql.org/message-id/flat/af837490-6b2f-46df-ba05-37ea6a6653fc%40eisentraut.org
2024-03-04 12:02:20 +01:00
..
Unicode Update copyright for 2024 2024-01-03 20:49:05 -05:00
conversion_procs Update copyright for 2024 2024-01-03 20:49:05 -05:00
Makefile Remove distprep 2023-11-06 15:18:04 +01:00
README Move wchar.c and encnames.c to src/common/. 2020-01-16 15:58:55 -05:00
conv.c Update copyright for 2024 2024-01-03 20:49:05 -05:00
iso.c Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
mbutils.c Remove unused #include's from backend .c files 2024-03-04 12:02:20 +01:00
meson.build Update copyright for 2024 2024-01-03 20:49:05 -05:00
stringinfo_mb.c Update copyright for 2024 2024-01-03 20:49:05 -05:00
win866.c Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
win1251.c Remove cvs keywords from all files. 2010-09-20 22:08:53 +02:00
wstrcmp.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00
wstrncmp.c pgindent run for 9.4 2014-05-06 12:12:18 -04:00

README

src/backend/utils/mb/README

Encodings
=========

conv.c:		static functions and a public table for code conversion
mbutils.c:	public functions for the backend only.
stringinfo_mb.c: public backend-only multibyte-aware stringinfo functions
wstrcmp.c:	strcmp for mb
wstrncmp.c:	strncmp for mb
win866.c:	a tool to generate KOI8 <--> CP866 conversion table
iso.c:		a tool to generate KOI8 <--> ISO8859-5 conversion table
win1251.c:	a tool to generate KOI8 <--> CP1251 conversion table

See also in src/common/:

encnames.c:	public functions for encoding names
wchar.c:	mostly static functions and a public table for mb string and
		multibyte conversion

Introduction
------------
	http://www.cprogramming.com/tutorial/unicode.html