Some functions that were only meant for backward compatibility with older
libunistring versions were compiled into libgettextpo. Worse, these symbols
were also exported from libgettextpo. This patch fixes it.


2023-02-11  Bruno Haible  <br...@clisp.org>

        unilbrk: Don't compile unused functions outside of libunistring.
        * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks): Don't
        compile outside of libunistring.
        * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
        Likewise.
        * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
        Likewise.
        * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
        Likewise.
        * lib/unilbrk/u8-width-linebreaks.c (u8_width_linebreaks): Likewise.
        * lib/unilbrk/u16-width-linebreaks.c (u16_width_linebreaks): Likewise.
        * lib/unilbrk/u32-width-linebreaks.c (u32_width_linebreaks): Likewise.
        * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.

diff --git a/lib/unilbrk/u16-possible-linebreaks.c 
b/lib/unilbrk/u16-possible-linebreaks.c
index 75d50efc5a..bbb236ae4e 100644
--- a/lib/unilbrk/u16-possible-linebreaks.c
+++ b/lib/unilbrk/u16-possible-linebreaks.c
@@ -216,7 +216,10 @@ u16_possible_linebreaks_loop (const uint16_t *s, size_t n, 
const char *encoding,
     }
 }
 
-#undef u16_possible_linebreaks
+#if defined IN_LIBUNISTRING
+/* For backward compatibility with older versions of libunistring.  */
+
+# undef u16_possible_linebreaks
 
 void
 u16_possible_linebreaks (const uint16_t *s, size_t n, const char *encoding,
@@ -225,6 +228,8 @@ u16_possible_linebreaks (const uint16_t *s, size_t n, const 
char *encoding,
   u16_possible_linebreaks_loop (s, n, encoding, -1, p);
 }
 
+#endif
+
 void
 u16_possible_linebreaks_v2 (const uint16_t *s, size_t n, const char *encoding,
                             char *p)
diff --git a/lib/unilbrk/u16-width-linebreaks.c 
b/lib/unilbrk/u16-width-linebreaks.c
index 44d630e7e8..9299a86df4 100644
--- a/lib/unilbrk/u16-width-linebreaks.c
+++ b/lib/unilbrk/u16-width-linebreaks.c
@@ -118,7 +118,10 @@ u16_width_linebreaks_internal (const uint16_t *s, size_t n,
   return last_column + piece_width;
 }
 
-#undef u16_width_linebreaks
+#if defined IN_LIBUNISTRING
+/* For backward compatibility with older versions of libunistring.  */
+
+# undef u16_width_linebreaks
 
 int
 u16_width_linebreaks (const uint16_t *s, size_t n,
@@ -131,6 +134,8 @@ u16_width_linebreaks (const uint16_t *s, size_t n,
                                         o, encoding, -1, p);
 }
 
+#endif
+
 int
 u16_width_linebreaks_v2 (const uint16_t *s, size_t n,
                          int width, int start_column, int at_end_columns,
diff --git a/lib/unilbrk/u32-possible-linebreaks.c 
b/lib/unilbrk/u32-possible-linebreaks.c
index 37215f12e4..762342a7eb 100644
--- a/lib/unilbrk/u32-possible-linebreaks.c
+++ b/lib/unilbrk/u32-possible-linebreaks.c
@@ -210,7 +210,10 @@ u32_possible_linebreaks_loop (const uint32_t *s, size_t n, 
const char *encoding,
     }
 }
 
-#undef u32_possible_linebreaks
+#if defined IN_LIBUNISTRING
+/* For backward compatibility with older versions of libunistring.  */
+
+# undef u32_possible_linebreaks
 
 void
 u32_possible_linebreaks (const uint32_t *s, size_t n, const char *encoding,
@@ -219,6 +222,8 @@ u32_possible_linebreaks (const uint32_t *s, size_t n, const 
char *encoding,
   u32_possible_linebreaks_loop (s, n, encoding, -1, p);
 }
 
+#endif
+
 void
 u32_possible_linebreaks_v2 (const uint32_t *s, size_t n, const char *encoding,
                             char *p)
diff --git a/lib/unilbrk/u32-width-linebreaks.c 
b/lib/unilbrk/u32-width-linebreaks.c
index 2b22585c86..524e82294d 100644
--- a/lib/unilbrk/u32-width-linebreaks.c
+++ b/lib/unilbrk/u32-width-linebreaks.c
@@ -116,7 +116,10 @@ u32_width_linebreaks_internal (const uint32_t *s, size_t n,
   return last_column + piece_width;
 }
 
-#undef u32_width_linebreaks
+#if defined IN_LIBUNISTRING
+/* For backward compatibility with older versions of libunistring.  */
+
+# undef u32_width_linebreaks
 
 int
 u32_width_linebreaks (const uint32_t *s, size_t n,
@@ -129,6 +132,8 @@ u32_width_linebreaks (const uint32_t *s, size_t n,
                                         o, encoding, -1, p);
 }
 
+#endif
+
 int
 u32_width_linebreaks_v2 (const uint32_t *s, size_t n,
                          int width, int start_column, int at_end_columns,
diff --git a/lib/unilbrk/u8-possible-linebreaks.c 
b/lib/unilbrk/u8-possible-linebreaks.c
index be282e0d03..1ac1200b3d 100644
--- a/lib/unilbrk/u8-possible-linebreaks.c
+++ b/lib/unilbrk/u8-possible-linebreaks.c
@@ -216,7 +216,10 @@ u8_possible_linebreaks_loop (const uint8_t *s, size_t n, 
const char *encoding,
     }
 }
 
-#undef u8_possible_linebreaks
+#if defined IN_LIBUNISTRING
+/* For backward compatibility with older versions of libunistring.  */
+
+# undef u8_possible_linebreaks
 
 void
 u8_possible_linebreaks (const uint8_t *s, size_t n, const char *encoding,
@@ -225,6 +228,8 @@ u8_possible_linebreaks (const uint8_t *s, size_t n, const 
char *encoding,
   u8_possible_linebreaks_loop (s, n, encoding, -1, p);
 }
 
+#endif
+
 void
 u8_possible_linebreaks_v2 (const uint8_t *s, size_t n, const char *encoding,
                            char *p)
diff --git a/lib/unilbrk/u8-width-linebreaks.c 
b/lib/unilbrk/u8-width-linebreaks.c
index 92c061907f..718e535da4 100644
--- a/lib/unilbrk/u8-width-linebreaks.c
+++ b/lib/unilbrk/u8-width-linebreaks.c
@@ -118,7 +118,10 @@ u8_width_linebreaks_internal (const uint8_t *s, size_t n,
   return last_column + piece_width;
 }
 
-#undef u8_width_linebreaks
+#if defined IN_LIBUNISTRING
+/* For backward compatibility with older versions of libunistring.  */
+
+# undef u8_width_linebreaks
 
 int
 u8_width_linebreaks (const uint8_t *s, size_t n,
@@ -131,6 +134,8 @@ u8_width_linebreaks (const uint8_t *s, size_t n,
                                        o, encoding, -1, p);
 }
 
+#endif
+
 int
 u8_width_linebreaks_v2 (const uint8_t *s, size_t n,
                         int width, int start_column, int at_end_columns,
diff --git a/lib/unilbrk/ulc-possible-linebreaks.c 
b/lib/unilbrk/ulc-possible-linebreaks.c
index 0d180a0ad9..8d97e51afe 100644
--- a/lib/unilbrk/ulc-possible-linebreaks.c
+++ b/lib/unilbrk/ulc-possible-linebreaks.c
@@ -132,7 +132,10 @@ ulc_possible_linebreaks_internal (const char *s, size_t n, 
const char *encoding,
     }
 }
 
-#undef ulc_possible_linebreaks
+#if defined IN_LIBUNISTRING
+/* For backward compatibility with older versions of libunistring.  */
+
+# undef ulc_possible_linebreaks
 
 void
 ulc_possible_linebreaks (const char *s, size_t n, const char *encoding,
@@ -141,6 +144,8 @@ ulc_possible_linebreaks (const char *s, size_t n, const 
char *encoding,
   ulc_possible_linebreaks_internal (s, n, encoding, -1, p);
 }
 
+#endif
+
 void
 ulc_possible_linebreaks_v2 (const char *s, size_t n, const char *encoding,
                             char *p)
diff --git a/lib/unilbrk/ulc-width-linebreaks.c 
b/lib/unilbrk/ulc-width-linebreaks.c
index 1d44d440b3..a8e08bc509 100644
--- a/lib/unilbrk/ulc-width-linebreaks.c
+++ b/lib/unilbrk/ulc-width-linebreaks.c
@@ -151,7 +151,10 @@ ulc_width_linebreaks_internal (const char *s, size_t n,
   return start_column;
 }
 
-#undef ulc_width_linebreaks
+#if defined IN_LIBUNISTRING
+/* For backward compatibility with older versions of libunistring.  */
+
+# undef ulc_width_linebreaks
 
 int
 ulc_width_linebreaks (const char *s, size_t n,
@@ -164,6 +167,8 @@ ulc_width_linebreaks (const char *s, size_t n,
                                         o, encoding, -1, p);
 }
 
+#endif
+
 int
 ulc_width_linebreaks_v2 (const char *s, size_t n,
                          int width, int start_column, int at_end_columns,




Reply via email to