154 lines
3.6 KiB
Diff
154 lines
3.6 KiB
Diff
From: Karel Zak <kzak@redhat.com>
|
|
Date: Thu, 20 Mar 2025 11:57:06 +0100
|
|
Subject: misc: never include wchar.h
|
|
|
|
We have a portable "widechar.h" that follows --disable-widechar and
|
|
provides portability. It is a bug to directly include libc's wchar.h
|
|
or wctype.h.
|
|
|
|
Fixes: https://github.com/util-linux/util-linux/issues/3470
|
|
Signed-off-by: Karel Zak <kzak@redhat.com>
|
|
(cherry picked from commit 5c0888dde3cc296d06b8243dcc78248ff90526e5)
|
|
---
|
|
disk-utils/cfdisk.c | 6 +-----
|
|
include/carefulputc.h | 5 +----
|
|
include/fgetwc_or_err.h | 6 +-----
|
|
lib/idcache.c | 2 +-
|
|
sys-utils/irqtop.c | 7 ++-----
|
|
sys-utils/lsns.c | 2 +-
|
|
tests/helpers/test_sysinfo.c | 2 +-
|
|
7 files changed, 8 insertions(+), 22 deletions(-)
|
|
|
|
diff --git a/disk-utils/cfdisk.c b/disk-utils/cfdisk.c
|
|
index 4018f4d..d4057ee 100644
|
|
--- a/disk-utils/cfdisk.c
|
|
+++ b/disk-utils/cfdisk.c
|
|
@@ -52,14 +52,10 @@
|
|
# include <ncurses/ncurses.h>
|
|
#endif
|
|
|
|
-#ifdef HAVE_WIDECHAR
|
|
-# include <wctype.h>
|
|
-# include <wchar.h>
|
|
-#endif
|
|
-
|
|
#include "c.h"
|
|
#include "closestream.h"
|
|
#include "nls.h"
|
|
+#include "widechar.h"
|
|
#include "strutils.h"
|
|
#include "xalloc.h"
|
|
#include "mbsalign.h"
|
|
diff --git a/include/carefulputc.h b/include/carefulputc.h
|
|
index 3cc6f7f..c6b778b 100644
|
|
--- a/include/carefulputc.h
|
|
+++ b/include/carefulputc.h
|
|
@@ -4,12 +4,9 @@
|
|
#include <stdio.h>
|
|
#include <string.h>
|
|
#include <ctype.h>
|
|
-#ifdef HAVE_WIDECHAR
|
|
-#include <wctype.h>
|
|
-#include <wchar.h>
|
|
-#endif
|
|
#include <stdbool.h>
|
|
|
|
+#include "widechar.h"
|
|
#include "cctype.h"
|
|
|
|
/*
|
|
diff --git a/include/fgetwc_or_err.h b/include/fgetwc_or_err.h
|
|
index 3cf9262..f6ba71c 100644
|
|
--- a/include/fgetwc_or_err.h
|
|
+++ b/include/fgetwc_or_err.h
|
|
@@ -1,13 +1,9 @@
|
|
#ifndef UTIL_LINUX_FGETWC_OR_ERR_H
|
|
#define UTIL_LINUX_FGETWC_OR_ERR_H
|
|
|
|
-#include <stdio.h>
|
|
-#include <wchar.h>
|
|
-#include <errno.h>
|
|
-
|
|
-#include "widechar.h"
|
|
#include "c.h"
|
|
#include "nls.h"
|
|
+#include "widechar.h"
|
|
|
|
static inline wint_t fgetwc_or_err(FILE *stream) {
|
|
wint_t ret;
|
|
diff --git a/lib/idcache.c b/lib/idcache.c
|
|
index fa77e7b..7bae768 100644
|
|
--- a/lib/idcache.c
|
|
+++ b/lib/idcache.c
|
|
@@ -4,12 +4,12 @@
|
|
*
|
|
* Written by Karel Zak <kzak@redhat.com>
|
|
*/
|
|
-#include <wchar.h>
|
|
#include <pwd.h>
|
|
#include <grp.h>
|
|
#include <sys/types.h>
|
|
|
|
#include "c.h"
|
|
+#include "widechar.h"
|
|
#include "idcache.h"
|
|
|
|
struct identry *get_id(struct idcache *ic, unsigned long int id)
|
|
diff --git a/sys-utils/irqtop.c b/sys-utils/irqtop.c
|
|
index ce6a2ca..f05bf6b 100644
|
|
--- a/sys-utils/irqtop.c
|
|
+++ b/sys-utils/irqtop.c
|
|
@@ -43,13 +43,10 @@
|
|
# include <ncurses/ncurses.h>
|
|
#endif
|
|
|
|
-#ifdef HAVE_WIDECHAR
|
|
-# include <wctype.h>
|
|
-# include <wchar.h>
|
|
-#endif
|
|
-
|
|
#include <libsmartcols.h>
|
|
|
|
+#include "c.h"
|
|
+#include "widechar.h"
|
|
#include "closestream.h"
|
|
#include "cpuset.h"
|
|
#include "monotonic.h"
|
|
diff --git a/sys-utils/lsns.c b/sys-utils/lsns.c
|
|
index 6b2dcba..2b613cf 100644
|
|
--- a/sys-utils/lsns.c
|
|
+++ b/sys-utils/lsns.c
|
|
@@ -19,7 +19,6 @@
|
|
#include <unistd.h>
|
|
#include <sys/stat.h>
|
|
#include <sys/types.h>
|
|
-#include <wchar.h>
|
|
#include <libsmartcols.h>
|
|
#include <libmount.h>
|
|
# include <stdbool.h>
|
|
@@ -43,6 +42,7 @@
|
|
#include "nls.h"
|
|
#include "xalloc.h"
|
|
#include "c.h"
|
|
+#include "widechar.h"
|
|
#include "list.h"
|
|
#include "closestream.h"
|
|
#include "optutils.h"
|
|
diff --git a/tests/helpers/test_sysinfo.c b/tests/helpers/test_sysinfo.c
|
|
index 1559d47..95f50f3 100644
|
|
--- a/tests/helpers/test_sysinfo.c
|
|
+++ b/tests/helpers/test_sysinfo.c
|
|
@@ -23,12 +23,12 @@
|
|
#include <limits.h>
|
|
#include <stdint.h>
|
|
#include <inttypes.h>
|
|
-#include <wchar.h>
|
|
#include <errno.h>
|
|
#include <time.h>
|
|
#include <sys/ioctl.h>
|
|
|
|
#include "c.h"
|
|
+#include "widechar.h"
|
|
|
|
#ifdef __linux__
|
|
# include <sys/mount.h>
|