[packages/ustr] - merged doc-html-local-css,gnu-inline,man-cleanup,man-spelling,stdarg-va_copy,unused_vars patches f

qboosh qboosh at pld-linux.org
Mon Oct 26 16:34:43 CET 2015


commit 1e0c24a0ca134d291a0f776061bf16a6a455024f
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Mon Oct 26 16:34:36 2015 +0100

    - merged doc-html-local-css,gnu-inline,man-cleanup,man-spelling,stdarg-va_copy,unused_vars patches from Debian
      (gnu-inline is the most important one, needed for GCC 5 compatibility)
    - release 4

 ustr-doc-html-local-css.patch |  63 +++
 ustr-gnu-inline.patch         | 874 ++++++++++++++++++++++++++++++++++++++++++
 ustr-man-cleanup.patch        | 169 ++++++++
 ustr-man-spelling.patch       | 152 ++++++++
 ustr-stdarg-va_copy.patch     |  27 ++
 ustr-unused-vars.patch        |  77 ++++
 ustr.spec                     |  14 +-
 7 files changed, 1375 insertions(+), 1 deletion(-)
---
diff --git a/ustr.spec b/ustr.spec
index 7e7ad4f..b0b1fa6 100644
--- a/ustr.spec
+++ b/ustr.spec
@@ -2,11 +2,17 @@ Summary:	String library with very low memory overhead
 Summary(pl.UTF-8):	Biblioteka operacji na łańcuchach o małym narzucie pamięciowym
 Name:		ustr
 Version:	1.0.4
-Release:	3
+Release:	4
 License:	LGPL v2+ or BSD or MIT
 Group:		Libraries
 Source0:	http://www.and.org/ustr/%{version}/%{name}-%{version}.tar.bz2
 # Source0-md5:	93147d9f0c9765d4cd0f04f7e44bdfce
+Patch0:		%{name}-doc-html-local-css.patch
+Patch1:		%{name}-gnu-inline.patch
+Patch2:		%{name}-man-cleanup.patch
+Patch3:		%{name}-man-spelling.patch
+Patch4:		%{name}-stdarg-va_copy.patch
+Patch5:		%{name}-unused-vars.patch
 URL:		http://www.and.org/ustr/
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -45,6 +51,12 @@ Statyczna biblioteka ustr.
 
 %prep
 %setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
 
 %build
 %{__make} all-shared \
diff --git a/ustr-doc-html-local-css.patch b/ustr-doc-html-local-css.patch
new file mode 100644
index 0000000..1d5ee56
--- /dev/null
+++ b/ustr-doc-html-local-css.patch
@@ -0,0 +1,63 @@
+From: Václav Ovsík <vaclav.ovsik at gmail.com>
+Subject: [PATCH] fixes/doc-html-local-css
+
+This patch replaces remote link to CSS with local copy.
+Original link: http://www.and.org/f_c-1.0.css
+
+Signed-off-by: Václav Ovsík <vaclav.ovsik at gmail.com>
+
+---
+ Documentation/design.html   | 2 +-
+ Documentation/f_c-1.0.css   | 1 +
+ Documentation/index.html    | 2 +-
+ Documentation/tutorial.html | 2 +-
+ 4 files changed, 4 insertions(+), 3 deletions(-)
+
+diff --git a/Documentation/design.html b/Documentation/design.html
+index a13e950..5ccc8ff 100644
+--- a/Documentation/design.html
++++ b/Documentation/design.html
+@@ -2,7 +2,7 @@
+ <html>
+   <head>
+     <title>Design of ustr, the micro string API - for C</title>
+-    <link rel="stylesheet" type="text/css" href="http://www.and.org/f_c-1.0.css"
++    <link rel="stylesheet" type="text/css" href="f_c-1.0.css">
+ 
+     <style>
+       body { width 85% };
+diff --git a/Documentation/f_c-1.0.css b/Documentation/f_c-1.0.css
+new file mode 100644
+index 0000000..d96ea41
+--- /dev/null
++++ b/Documentation/f_c-1.0.css
+@@ -0,0 +1 @@
++pre.c2html{color:#111;background:#fff;border-left:0.4em solid #eee}pre.c2html span.comment{color:#292}pre.c2html span.stdout,pre.c2html span.stdin,pre.c2html span.intjmin,pre.c2html span.intjmax,pre.c2html span.intmin,pre.c2html span.intmax,pre.c2html span.charbi,pre.c2html span.compline,pre.c2html span.compfile,pre.c2html span.compversion,pre.c2html span.compdate,pre.c2html span.exit,pre.c2html span.inline,pre.c2html span.restrict,pre.c2html span.const,pre.c2html span.static,pre.c2html span.extern,pre.c2html span.unsigned,pre.c2html span.void,pre.c2html span.uintmaxt,pre.c2html span.intmaxt,pre.c2html span.off64t,pre.c2html span.offt,pre.c2html span.sizet,pre.c2html span.ssizet,pre.c2html span.double,pre.c2html span.float,pre.c2html span.long,pre.c2html span.int,pre.c2html span.short,pre.c2html span.char,pre.c2html span.break,pre.c2html span.return,pre.c2html span.cppinclude,pre.c2html span.cppdefine,pre.c2html span.cppdefined,pre.c2html span.cppendif,pre.c2html span.cppelif,pre.c2html span.cppelse,pre.c2html span.cppifdef,pre.c2html span.cppifndef,pre.c2html span.cppif,pre.c2html span.goto,pre.c2html span.abort{color:#628}pre.c2html span.exitsucs,pre.c2html span.chr,pre.c2html span.str{color:#292;font-weight:bold}pre.c2html span.null,pre.c2html span.false,pre.c2html span.true,pre.c2html span.default,pre.c2html span.case,pre.c2html span.switch,pre.c2html span.for,pre.c2html span.while,pre.c2html span.do,pre.c2html span.else,pre.c2html span.if,pre.c2html span.mpzt,pre.c2html span.pollfd,pre.c2html span.vstrfmt,pre.c2html span.vstrsects,pre.c2html span.vstrbase{color:#44f}pre.c2html span.num0,pre.c2html span.errno,pre.c2html span.assert,pre.c2html span.warn,pre.c2html span.err,pre.c2html span.stderr,pre.c2html span.exitfail{color:#f22}pre.c2html span.numm1{color:#f22;font-weight:bold}
+diff --git a/Documentation/index.html b/Documentation/index.html
+index ea6fa9d..09af75c 100644
+--- a/Documentation/index.html
++++ b/Documentation/index.html
+@@ -5,7 +5,7 @@
+    <meta http-equiv="Content-type" content="text/html; charset=utf-8">
+ 
+     <title>µstr - Micro String API - for C</title>
+-    <link rel="stylesheet" type="text/css" href="http://www.and.org/f_c-1.0.css">
++    <link rel="stylesheet" type="text/css" href="f_c-1.0.css">
+ 
+ 
+     <style>
+diff --git a/Documentation/tutorial.html b/Documentation/tutorial.html
+index fe7dd64..a21717d 100644
+--- a/Documentation/tutorial.html
++++ b/Documentation/tutorial.html
+@@ -3,7 +3,7 @@
+   <head>
+     <title>Tutorial on ustr APIs</title>
+ 
+- <link rel="stylesheet" type="text/css" href="http://www.and.org/f_c-1.0.css">
++ <link rel="stylesheet" type="text/css" href="f_c-1.0.css">
+   <style>
+       A       { background: #FFF; color: #44F; }
+       A:hover {                   color: #20b2aa; }
+-- 
+tg: (b148fb7..) fixes/doc-html-local-css (depends on: upstream)
diff --git a/ustr-gnu-inline.patch b/ustr-gnu-inline.patch
new file mode 100644
index 0000000..ae46975
--- /dev/null
+++ b/ustr-gnu-inline.patch
@@ -0,0 +1,874 @@
+From: Václav Ovsík <vaclav.ovsik at gmail.com>
+Subject: [PATCH] fixes/gnu-inline
+
+This patch adds `__attribute__ ((gnu_inline))' into prototype macros
+before `inline' to force GNU89 behaviour of inline functions
+in C99 mode.
+See http://www.gnu.org/software/gcc/gcc-5/porting_to.html
+
+Signed-off-by: Václav Ovsík <vaclav.ovsik at gmail.com>
+
+---
+ ustr-b-dbg-code.c       | 8 ++++----
+ ustr-b-opt-code.c       | 8 ++++----
+ ustr-cmp-dbg-code.c     | 8 ++++----
+ ustr-cmp-opt-code.c     | 8 ++++----
+ ustr-compiler.h         | 4 ++--
+ ustr-fmt-dbg-code.c     | 8 ++++----
+ ustr-fmt-opt-code.c     | 8 ++++----
+ ustr-ins-dbg-code.c     | 8 ++++----
+ ustr-ins-opt-code.c     | 8 ++++----
+ ustr-io-dbg-code.c      | 8 ++++----
+ ustr-io-opt-code.c      | 8 ++++----
+ ustr-main-dbg-code.c    | 2 +-
+ ustr-main-opt-code.c    | 2 +-
+ ustr-parse-dbg-code.c   | 8 ++++----
+ ustr-parse-opt-code.c   | 8 ++++----
+ ustr-pool-dbg-code.c    | 8 ++++----
+ ustr-pool-opt-code.c    | 8 ++++----
+ ustr-replace-dbg-code.c | 8 ++++----
+ ustr-replace-opt-code.c | 8 ++++----
+ ustr-sc-dbg-code.c      | 8 ++++----
+ ustr-sc-opt-code.c      | 8 ++++----
+ ustr-set-dbg-code.c     | 8 ++++----
+ ustr-set-opt-code.c     | 8 ++++----
+ ustr-split-dbg-code.c   | 8 ++++----
+ ustr-split-opt-code.c   | 8 ++++----
+ ustr-spn-dbg-code.c     | 8 ++++----
+ ustr-spn-opt-code.c     | 8 ++++----
+ ustr-srch-dbg-code.c    | 8 ++++----
+ ustr-srch-opt-code.c    | 8 ++++----
+ ustr-sub-dbg-code.c     | 8 ++++----
+ ustr-sub-opt-code.c     | 8 ++++----
+ ustr-utf8-dbg-code.c    | 8 ++++----
+ ustr-utf8-opt-code.c    | 8 ++++----
+ 33 files changed, 124 insertions(+), 124 deletions(-)
+
+diff --git a/ustr-b-dbg-code.c b/ustr-b-dbg-code.c
+index 4a7fdac..60e383e 100644
+--- a/ustr-b-dbg-code.c
++++ b/ustr-b-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #undef  USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 1
+@@ -16,5 +16,5 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-b.h"
+diff --git a/ustr-b-opt-code.c b/ustr-b-opt-code.c
+index 45e9e87..4011898 100644
+--- a/ustr-b-opt-code.c
++++ b/ustr-b-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #undef  USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 1
+@@ -16,5 +16,5 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-b.h"
+diff --git a/ustr-cmp-dbg-code.c b/ustr-cmp-dbg-code.c
+index 7b8af33..4c3adc2 100644
+--- a/ustr-cmp-dbg-code.c
++++ b/ustr-cmp-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #undef  USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 1
+@@ -16,5 +16,5 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-cmp.h"
+diff --git a/ustr-cmp-opt-code.c b/ustr-cmp-opt-code.c
+index 2076d1c..ff5d02c 100644
+--- a/ustr-cmp-opt-code.c
++++ b/ustr-cmp-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #undef  USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 1
+@@ -16,5 +16,5 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-cmp.h"
+diff --git a/ustr-compiler.h b/ustr-compiler.h
+index 9e71276..38ae026 100644
+--- a/ustr-compiler.h
++++ b/ustr-compiler.h
+@@ -92,7 +92,7 @@
+ #endif
+ 
+ #if USTR_CONF_COMPILE_USE_INLINE
+-#define USTR__INLINE inline
++#define USTR__INLINE  __attribute__ ((gnu_inline)) inline
+ #else
+ #define USTR__INLINE /* no inline */
+ #endif
+@@ -123,7 +123,7 @@
+ # if USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #  define USTR_CONF_II_PROTO static USTR__INLINE
+ # else
+-#  define USTR_CONF_II_PROTO extern inline
++#  define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ # endif
+ #endif
+ 
+diff --git a/ustr-fmt-dbg-code.c b/ustr-fmt-dbg-code.c
+index 4249bb1..1f147a0 100644
+--- a/ustr-fmt-dbg-code.c
++++ b/ustr-fmt-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #undef  USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 1
+@@ -16,5 +16,5 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-fmt.h"
+diff --git a/ustr-fmt-opt-code.c b/ustr-fmt-opt-code.c
+index c73e375..989b29f 100644
+--- a/ustr-fmt-opt-code.c
++++ b/ustr-fmt-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #undef  USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 1
+@@ -16,5 +16,5 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-fmt.h"
+diff --git a/ustr-ins-dbg-code.c b/ustr-ins-dbg-code.c
+index 39f9bba..4c6d5ea 100644
+--- a/ustr-ins-dbg-code.c
++++ b/ustr-ins-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-fmt.h"
+ #undef  USTR_CONF_INCLUDE_CODEONLY_HEADERS
+@@ -17,5 +17,5 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-ins.h"
+diff --git a/ustr-ins-opt-code.c b/ustr-ins-opt-code.c
+index 1aca827..859b44d 100644
+--- a/ustr-ins-opt-code.c
++++ b/ustr-ins-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-fmt.h"
+ #undef  USTR_CONF_INCLUDE_CODEONLY_HEADERS
+@@ -17,5 +17,5 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-ins.h"
+diff --git a/ustr-io-dbg-code.c b/ustr-io-dbg-code.c
+index c361c93..d42e43f 100644
+--- a/ustr-io-dbg-code.c
++++ b/ustr-io-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #undef  USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 1
+@@ -16,5 +16,5 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-io.h"
+diff --git a/ustr-io-opt-code.c b/ustr-io-opt-code.c
+index b1b4525..ae8de87 100644
+--- a/ustr-io-opt-code.c
++++ b/ustr-io-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #undef  USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 1
+@@ -16,5 +16,5 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-io.h"
+diff --git a/ustr-main-dbg-code.c b/ustr-main-dbg-code.c
+index 4b821ce..abaa53a 100644
+--- a/ustr-main-dbg-code.c
++++ b/ustr-main-dbg-code.c
+@@ -7,5 +7,5 @@
+ #define USTR_CONF_E_PROTO  extern
+ #define USTR_CONF_I_PROTO
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+diff --git a/ustr-main-opt-code.c b/ustr-main-opt-code.c
+index 233fb60..7ef6e98 100644
+--- a/ustr-main-opt-code.c
++++ b/ustr-main-opt-code.c
+@@ -7,5 +7,5 @@
+ #define USTR_CONF_E_PROTO  extern
+ #define USTR_CONF_I_PROTO
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+diff --git a/ustr-parse-dbg-code.c b/ustr-parse-dbg-code.c
+index c9653af..6e1707d 100644
+--- a/ustr-parse-dbg-code.c
++++ b/ustr-parse-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #undef  USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 1
+@@ -16,5 +16,5 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-parse.h"
+diff --git a/ustr-parse-opt-code.c b/ustr-parse-opt-code.c
+index 0c8df4d..fc96db2 100644
+--- a/ustr-parse-opt-code.c
++++ b/ustr-parse-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #undef  USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 1
+@@ -16,5 +16,5 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-parse.h"
+diff --git a/ustr-pool-dbg-code.c b/ustr-pool-dbg-code.c
+index adf7519..957f9ca 100644
+--- a/ustr-pool-dbg-code.c
++++ b/ustr-pool-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #undef  USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 1
+@@ -16,5 +16,5 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-pool.h"
+diff --git a/ustr-pool-opt-code.c b/ustr-pool-opt-code.c
+index 2b0367c..c1b2413 100644
+--- a/ustr-pool-opt-code.c
++++ b/ustr-pool-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #undef  USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 1
+@@ -16,5 +16,5 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-pool.h"
+diff --git a/ustr-replace-dbg-code.c b/ustr-replace-dbg-code.c
+index fe02187..90531ac 100644
+--- a/ustr-replace-dbg-code.c
++++ b/ustr-replace-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-set.h"
+ #include "ustr-srch.h"
+@@ -19,5 +19,5 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-replace.h"
+diff --git a/ustr-replace-opt-code.c b/ustr-replace-opt-code.c
+index e76b3bb..6232753 100644
+--- a/ustr-replace-opt-code.c
++++ b/ustr-replace-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-set.h"
+ #include "ustr-srch.h"
+@@ -19,5 +19,5 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-replace.h"
+diff --git a/ustr-sc-dbg-code.c b/ustr-sc-dbg-code.c
+index 0011c63..d7ce317 100644
+--- a/ustr-sc-dbg-code.c
++++ b/ustr-sc-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-spn.h"
+ #include "ustr-utf8.h"
+@@ -18,5 +18,5 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-sc.h"
+diff --git a/ustr-sc-opt-code.c b/ustr-sc-opt-code.c
+index 7cb81ba..4a97ed9 100644
+--- a/ustr-sc-opt-code.c
++++ b/ustr-sc-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-spn.h"
+ #include "ustr-utf8.h"
+@@ -18,5 +18,5 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-sc.h"
+diff --git a/ustr-set-dbg-code.c b/ustr-set-dbg-code.c
+index 023875a..cf77071 100644
+--- a/ustr-set-dbg-code.c
++++ b/ustr-set-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-fmt.h"
+ #undef  USTR_CONF_INCLUDE_CODEONLY_HEADERS
+@@ -17,5 +17,5 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-set.h"
+diff --git a/ustr-set-opt-code.c b/ustr-set-opt-code.c
+index e726888..34dcaf6 100644
+--- a/ustr-set-opt-code.c
++++ b/ustr-set-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-fmt.h"
+ #undef  USTR_CONF_INCLUDE_CODEONLY_HEADERS
+@@ -17,5 +17,5 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-set.h"
+diff --git a/ustr-split-dbg-code.c b/ustr-split-dbg-code.c
+index 03e5ca5..e40d2a5 100644
+--- a/ustr-split-dbg-code.c
++++ b/ustr-split-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-set.h"
+ #include "ustr-spn.h"
+@@ -19,5 +19,5 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-split.h"
+diff --git a/ustr-split-opt-code.c b/ustr-split-opt-code.c
+index d64e300..74f4b1c 100644
+--- a/ustr-split-opt-code.c
++++ b/ustr-split-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-set.h"
+ #include "ustr-spn.h"
+@@ -19,5 +19,5 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-split.h"
+diff --git a/ustr-spn-dbg-code.c b/ustr-spn-dbg-code.c
+index ff97432..b0b09d4 100644
+--- a/ustr-spn-dbg-code.c
++++ b/ustr-spn-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-srch.h"
+ #include "ustr-utf8.h"
+@@ -18,5 +18,5 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-spn.h"
+diff --git a/ustr-spn-opt-code.c b/ustr-spn-opt-code.c
+index 3ff0a07..92c5ccc 100644
+--- a/ustr-spn-opt-code.c
++++ b/ustr-spn-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-srch.h"
+ #include "ustr-utf8.h"
+@@ -18,5 +18,5 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-spn.h"
+diff --git a/ustr-srch-dbg-code.c b/ustr-srch-dbg-code.c
+index 40e4dbf..0f4da21 100644
+--- a/ustr-srch-dbg-code.c
++++ b/ustr-srch-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-cmp-internal.h"
+ #undef  USTR_CONF_INCLUDE_CODEONLY_HEADERS
+@@ -17,6 +17,6 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-srch.h"
+ 
+diff --git a/ustr-srch-opt-code.c b/ustr-srch-opt-code.c
+index 635464d..8dde13d 100644
+--- a/ustr-srch-opt-code.c
++++ b/ustr-srch-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-cmp-internal.h"
+ #undef  USTR_CONF_INCLUDE_CODEONLY_HEADERS
+@@ -17,6 +17,6 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-srch.h"
+ 
+diff --git a/ustr-sub-dbg-code.c b/ustr-sub-dbg-code.c
+index f994716..b1712e6 100644
+--- a/ustr-sub-dbg-code.c
++++ b/ustr-sub-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-fmt.h"
+ #include "ustr-ins.h"
+@@ -19,5 +19,5 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-sub.h"
+diff --git a/ustr-sub-opt-code.c b/ustr-sub-opt-code.c
+index 8cdb4eb..91780c7 100644
+--- a/ustr-sub-opt-code.c
++++ b/ustr-sub-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #include "ustr-fmt.h"
+ #include "ustr-ins.h"
+@@ -19,5 +19,5 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-sub.h"
+diff --git a/ustr-utf8-dbg-code.c b/ustr-utf8-dbg-code.c
+index 2666fc2..30786e9 100644
+--- a/ustr-utf8-dbg-code.c
++++ b/ustr-utf8-dbg-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf-debug.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #undef  USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 1
+@@ -16,5 +16,5 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-utf8.h"
+diff --git a/ustr-utf8-opt-code.c b/ustr-utf8-opt-code.c
+index 91fa754..abdf4c0 100644
+--- a/ustr-utf8-opt-code.c
++++ b/ustr-utf8-opt-code.c
+@@ -3,11 +3,11 @@
+ #include "ustr-conf.h"
+ #define USTR_CONF_USE_DYNAMIC_CONF USTR_CONF_HAVE_DYNAMIC_CONF
+ #define USTR_CONF_e_PROTO  extern
+-#define USTR_CONF_i_PROTO  extern inline
++#define USTR_CONF_i_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_E_PROTO  extern
+-#define USTR_CONF_I_PROTO  extern inline
++#define USTR_CONF_I_PROTO  extern  __attribute__ ((gnu_inline)) inline
+ #define USTR_CONF_EI_PROTO extern
+-#define USTR_CONF_II_PROTO extern inline
++#define USTR_CONF_II_PROTO extern  __attribute__ ((gnu_inline)) inline
+ #include "ustr-main.h"
+ #undef  USTR_CONF_INCLUDE_CODEONLY_HEADERS
+ #define USTR_CONF_INCLUDE_CODEONLY_HEADERS 1
+@@ -16,5 +16,5 @@
+ #undef  USTR_CONF_I_PROTO
+ #define USTR_CONF_I_PROTO
+ #undef  USTR_CONF_II_PROTO
+-#define USTR_CONF_II_PROTO inline
++#define USTR_CONF_II_PROTO  __attribute__ ((gnu_inline)) inline
+ #include "ustr-utf8.h"
+-- 
+tg: (b148fb7..) fixes/gnu-inline (depends on: upstream)
diff --git a/ustr-man-cleanup.patch b/ustr-man-cleanup.patch
new file mode 100644
index 0000000..3b8aef9
--- /dev/null
+++ b/ustr-man-cleanup.patch
@@ -0,0 +1,169 @@
+From: Vaclav Ovsik <vaclav.ovsik at i.cz>
+Subject: [PATCH] fixes/man-cleanup
+
+The patch cleans up man pages (removes undefined macros).
+
+Signed-off-by: Vaclav Ovsik <vaclav.ovsik at i.cz>
+
+---
+ Documentation/txt2man.pl | 18 ++++++++++++------
+ Documentation/ustr.3     | 19 -------------------
+ 2 files changed, 12 insertions(+), 25 deletions(-)
+
+diff --git a/Documentation/txt2man.pl b/Documentation/txt2man.pl
+index 017d0a2..2078997 100755
+--- a/Documentation/txt2man.pl
++++ b/Documentation/txt2man.pl
+@@ -169,6 +169,7 @@ sub conv_A_refs
+ sub convert()
+   {
+     my $in_pre_tag = "";
++    my $in_pre = 0;
+     my $in_const = 0;
+ 
+     while (<IN>)
+@@ -231,23 +232,28 @@ sub convert()
+ 	    if (/\.\.\.$/)
+ 	      {
+ 		conv_A_refs(1, 1, 0);
+-		$_ = ".Ve\n$_.Vb 4\n";
+-		$in_pre_tag = "\n.Ve";
++#		$_ = ".Ve\n$_.Vb 4\n";
++#		$in_pre_tag = "\n.Ve";
++		$in_pre_tag = "";
++		$in_pre = 1;
+ 	      }
+ 	    else
+ 	      {
+ 		conv_A_refs(1, 1, 0);
+-		$_ = ".Ve\n$_";
++#		$_ = ".Ve\n$_";
+ 		$in_pre_tag = "";
++		$in_pre = 0;
+ 	      }
+ 	  }
+ 	elsif (/\.\.\.$/)
+ 	  {
+ 	    conv_A_refs(1, 1, 0);
+-	    $_ = "$_\n.Vb 4";
+-	    $in_pre_tag = "\n.Ve";
++#	    $_ = "$_\n.Vb 4";
++#	    $in_pre_tag = "\n.Ve";
++	    $in_pre_tag = "";
++	    $in_pre = 1;
+ 	  }
+-	elsif (!$in_pre_tag)
++	elsif (!$in_pre)
+ 	  {
+ 	    if (!/^$/)
+ 	      {
+diff --git a/Documentation/ustr.3 b/Documentation/ustr.3
+index a8301b5..88acab9 100644
+--- a/Documentation/ustr.3
++++ b/Documentation/ustr.3
+@@ -1317,24 +1317,18 @@ Type\fB[2]\fR: const char[]
+ .br
+   This macro function simplifies the creation of read\-only Ustr string's. And is normally used like...
+ 
+-.Vb 4
+   USTR1(\\x4, "abcd")
+ 
+-.Ve
+  ...it is worth pointing out that running with debugging turned on
+  (USTR_CONF_USE_ASSERT) will complain if the length isn't encoded correctly, as in...
+ 
+-.Vb 4
+   USTR1(\\x3, "abcd")
+ 
+-.Ve
+  ...here ustr_assert_valid() will fail, which is called before most functions do
+  anything in debugging mode. Note also that extra debugging (USTR_CONF_USE_EOS_MARK) will still catch cases like...
+ 
+-.Vb 4
+   USTR1(\\x3, "abc\\0d")
+ 
+-.Ve
+  ...at least using debugging is esp. important if you are putting UTF\-8
+  characters into the strings.
+ .sp
+@@ -1731,7 +1725,6 @@ Type\fB[1]\fR: size_t
+ 
+ .br
+   char buf[USTR_SIZE_FIXED(4)];
+-.Ve
+  ...to give you exactly 4 bytes as a maximum, this is esp. useful if you want
+  a limited (ustr_limited() == USTR_TRUE) Ustr string.
+ 
+@@ -1810,11 +1803,9 @@ Type\fB[3]\fR: size_t
+ .br
+   This does mean that the first argument must be the correct size, as far as sizeof() is concerned, as in...
+ 
+-.Vb 4
+  char buf_sz[1024];
+  Ustr *s1 = USTR_SC_INIT_AUTO(buf_sz, USTR_FALSE, 0);
+ 
+-.Ve
+  ...so passing pointers to memory from malloc() will probably just return NULL.
+ 
+ 
+@@ -1852,11 +1843,9 @@ Type\fB[3]\fR: size_t
+ .br
+   This does mean that the first argument must be the correct size, as far as sizeof() is concerned, as in...
+ 
+-.Vb 4
+  char buf_sz[1024] = USTR_BEG_FIXED2 "abcd";
+  Ustr *s1 = USTR_SC_INIT_AUTO_OSTR(buf_sz, USTR_FALSE, "abcd");
+ 
+-.Ve
+  ...so passing pointers to memory from malloc() will probably just return NULL.
+ 
+ 
+@@ -9031,11 +9020,9 @@ Type\fB[6]\fR: size_t lim
+   This function replaces a repeating sequence of characters with another repeating sequence of characters. 
+   For example...
+ 
+-.Vb 4
+   Ustr *data = ustr_dup_cstr("xxxBxxCxDxxx");
+   ustr_replace_rep_chr(&data,'x',2,'y',1, 0)
+ 
+-.Ve
+  ...would change data to be "yxByCxDyx".
+ 
+ 
+@@ -9092,16 +9079,13 @@ Type\fB[6]\fR: unsigned int
+ .br
+   Parameter[5] is a a pointer to a Ustr where the return value will be placed. Passing a USTR_NULL to this parameter will cause the string to be allocated and \fBMUST\fR be freed \fBmanually\fR. If, however, you pass in a non\-null Ustr to this parameter, each call to ustr_split_buf() will free what is in this pointer and place the new token there (when USTR_NULL is returned, nothing needs to be free'd).  For example, given...
+ 
+-.Vb 4
+   Ustr *data = ...;
+   Ustr *tok = USTR_NULL;
+   const char *sep = ",";
+   size_t off = 0;
+   unsigned int flags = USTR_FLAGS_SPLIT_DEF;
+ 
+-.Ve
+  ...there are two options...
+-.Vb 4
+ 
+   while ((tok = ustr_split_buf(data, &off, sep, strlen(sep), tok, flags)))
+   {
+@@ -9110,9 +9094,7 @@ Type\fB[6]\fR: unsigned int
+   }
+   /* tok is now NULL again after the loop */
+ 
+-.Ve
+  ...or...
+-.Vb 4
+ 
+   while ((tok = ustr_split_buf(data, &off, sep, strlen(sep), USTR_NULL, flags)))
+   {
+@@ -9121,7 +9103,6 @@ Type\fB[6]\fR: unsigned int
+       ustr_free(tok); /* have to free to avoid mem leaks */
+   }
+ 
+-.Ve
+  ...the former of which being the safer option.
+ 
+ .sp
+-- 
+tg: (b148fb7..) fixes/man-cleanup (depends on: upstream)
diff --git a/ustr-man-spelling.patch b/ustr-man-spelling.patch
new file mode 100644
index 0000000..8fc589c
--- /dev/null
+++ b/ustr-man-spelling.patch
@@ -0,0 +1,152 @@
+From: Vaclav Ovsik <vaclav.ovsik at i.cz>
+Subject: [PATCH] fixes/man-spelling
+
+Fixes spelling errors found by lintian.
+
+Signed-off-by: Vaclav Ovsik <vaclav.ovsik at i.cz>
+
+---
+ Documentation/ustr-import.1 |  6 +++---
+ Documentation/ustr.3        | 22 +++++++++++-----------
+ Documentation/ustr_const.3  |  2 +-
+ 3 files changed, 15 insertions(+), 15 deletions(-)
+
+diff --git a/Documentation/ustr-import.1 b/Documentation/ustr-import.1
+index 153c48f..f8555ab 100644
+--- a/Documentation/ustr-import.1
++++ b/Documentation/ustr-import.1
+@@ -9,16 +9,16 @@ ustr\-import \- ustr string library import tool
+ .sp
+ .ti
+ .SH "DESCRIPTION"
+- This tool lets you use the Ustr string library without incuring dependancies on the library itself, so API/ABI compatability is 100% (nothing changes unless you do it) and installing your application doesn't require the library to be pre\-installed\&.
++ This tool lets you use the Ustr string library without incuring dependencies on the library itself, so API/ABI compatibility is 100% (nothing changes unless you do it) and installing your application doesn't require the library to be pre\-installed\&.
+ .SH "OPTIONS"
+ 
+ .TP
+ \-\-32
+-If you installed with multilib, this runs the 32 bit varient (and installs the variable multilib build code as ustr\-conf.h)\&.
++If you installed with multilib, this runs the 32 bit variant (and installs the variable multilib build code as ustr\-conf.h)\&.
+ 
+ .TP
+ \-\-64
+-If you installed with multilib, this runs the 64 bit varient (and installs the variable multilib build code as ustr\-conf.h)\&.
++If you installed with multilib, this runs the 64 bit variant (and installs the variable multilib build code as ustr\-conf.h)\&.
+ 
+ .TP
+ \-d
+diff --git a/Documentation/ustr.3 b/Documentation/ustr.3
+index 88acab9..81675d6 100644
+--- a/Documentation/ustr.3
++++ b/Documentation/ustr.3
+@@ -6556,7 +6556,7 @@ Type\fB[3]\fR: char
+ \fBNote:\fR
+ 
+ .br
+-  The searching starts from the end of the string, and so the offset is the offset from the end. However the position of a byte is always relative to the begining, so to do a loop you need to take the position from the length.
++  The searching starts from the end of the string, and so the offset is the offset from the end. However the position of a byte is always relative to the beginning, so to do a loop you need to take the position from the length.
+ 
+ .ti -2
+ .br
+@@ -6629,7 +6629,7 @@ Type\fB[4]\fR: size_t
+ \fBNote:\fR
+ 
+ .br
+-  The searching starts from the end of the string, and so the offset is the offset from the end. However the position of a byte is always relative to the begining, so to do a loop you need to take the position from the length.
++  The searching starts from the end of the string, and so the offset is the offset from the end. However the position of a byte is always relative to the beginning, so to do a loop you need to take the position from the length.
+ 
+ .ti -2
+ .br
+@@ -6692,7 +6692,7 @@ Type\fB[3]\fR: const struct Ustr *
+ \fBNote:\fR
+ 
+ .br
+-  The searching starts from the end of the string, and so the offset is the offset from the end. However the position of a byte is always relative to the begining, so to do a loop you need to take the position from the length.
++  The searching starts from the end of the string, and so the offset is the offset from the end. However the position of a byte is always relative to the beginning, so to do a loop you need to take the position from the length.
+ 
+ .ti -2
+ .br
+@@ -6755,7 +6755,7 @@ Type\fB[3]\fR: const char *
+ \fBNote:\fR
+ 
+ .br
+-  The searching starts from the end of the string, and so the offset is the offset from the end. However the position of a byte is always relative to the begining, so to do a loop you need to take the position from the length.
++  The searching starts from the end of the string, and so the offset is the offset from the end. However the position of a byte is always relative to the beginning, so to do a loop you need to take the position from the length.
+ 
+ .ti -2
+ .br
+@@ -6838,7 +6838,7 @@ Type\fB[5]\fR: size_t
+ \fBNote:\fR
+ 
+ .br
+-  The searching starts from the end of the string, and so the offset is the offset from the end. However the position of a byte is always relative to the begining, so to do a loop you need to take the position from the length.
++  The searching starts from the end of the string, and so the offset is the offset from the end. However the position of a byte is always relative to the beginning, so to do a loop you need to take the position from the length.
+ 
+ .ti -2
+ .br
+@@ -8248,12 +8248,12 @@ Type\fB[3]\fR: size_t
+ \fBExplanation:\fR
+ 
+ .br
+-  This function is the opposite of ustr_io_get(), taking bytes from the beginning of the Ustr and writting them to the file.
++  This function is the opposite of ustr_io_get(), taking bytes from the beginning of the Ustr and writing them to the file.
+ .sp
+ \fBNote:\fR
+ 
+ .br
+-  Deleting bytes from the begining of a Ustr string is the most inefficient thing to do, so it is recommended to use ustr_io_putfile().
++  Deleting bytes from the beginning of a Ustr string is the most inefficient thing to do, so it is recommended to use ustr_io_putfile().
+ 
+ .ti -2
+ .br
+@@ -8282,7 +8282,7 @@ Type\fB[3]\fR: size_t
+ \fBExplanation:\fR
+ 
+ .br
+-  This function works like calling ustr_io_put(), and then writting a '\\n' to the file.
++  This function works like calling ustr_io_put(), and then writing a '\\n' to the file.
+ .sp
+ \fBNote:\fR
+ 
+@@ -8404,7 +8404,7 @@ Type\fB[3]\fR: size_t
+ \fBNote:\fR
+ 
+ .br
+-  You can think of the operation as two seperate tasks, one which makes the current data in the Ustr undefined and the second which adds undefined data to the ustr to accomodate the desired length.
++  You can think of the operation as two separate tasks, one which makes the current data in the Ustr undefined and the second which adds undefined data to the ustr to accommodate the desired length.
+ 
+ .ti -2
+ .br
+@@ -10160,7 +10160,7 @@ Type\fB[3]\fR: size_t
+ \fBExplanation:\fR
+ 
+ .br
+-  This function deletes the bytes at the begining of the Ustr (Parameter[1]) that are in the span (Parameter[2]) of the specificed length (parameter[2]).
++  This function deletes the bytes at the beginning of the Ustr (Parameter[1]) that are in the span (Parameter[2]) of the specificed length (parameter[2]).
+ 
+ .ti -2
+ .br
+@@ -10314,7 +10314,7 @@ Type\fB[3]\fR: size_t
+ \fBExplanation:\fR
+ 
+ .br
+-  This function deletes the bytes at the begining or end of the Ustr (Parameter[1]) that are in the span (Parameter[2]) of the specificed length (parameter[2]).
++  This function deletes the bytes at the beginning or end of the Ustr (Parameter[1]) that are in the span (Parameter[2]) of the specificed length (parameter[2]).
+ .sp
+ \fBNote:\fR
+ 
+diff --git a/Documentation/ustr_const.3 b/Documentation/ustr_const.3
+index 18d6b8b..599c625 100644
+--- a/Documentation/ustr_const.3
++++ b/Documentation/ustr_const.3
+@@ -393,7 +393,7 @@ ustr_const \- ustr string library constants
+ \fBExplanation:\fR
+ 
+ .br
+-  This flag allows the parsing (and ignoring) of the seperator character, at arbitrary pointers in the number, so "1234" and "1_234" would both parse the same (assuming "_" is the seperator).
++  This flag allows the parsing (and ignoring) of the separator character, at arbitrary pointers in the number, so "1234" and "1_234" would both parse the same (assuming "_" is the separator).
+ 
+ .br
+ \fBConstant: \fR USTR_FLAG_PARSE_NUM_OVERFLOW
+-- 
+tg: (09206e5..) fixes/man-spelling (depends on: fixes/man-cleanup)
diff --git a/ustr-stdarg-va_copy.patch b/ustr-stdarg-va_copy.patch
new file mode 100644
index 0000000..632fd39
--- /dev/null
+++ b/ustr-stdarg-va_copy.patch
@@ -0,0 +1,27 @@
+From: Václav Ovsík <vaclav.ovsik at gmail.com>
+Subject: [PATCH] fixes/stdarg-va_copy
+
+This patch fixes compiler warning:
+ustr-compiler.h:19:7: warning: "__va_copy" is not defined [-Wundef]
+
+Signed-off-by: Václav Ovsík <vaclav.ovsik at gmail.com>
+
+---
+ ustr-compiler.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ustr-compiler.h b/ustr-compiler.h
+index 9e71276..642e6e8 100644
+--- a/ustr-compiler.h
++++ b/ustr-compiler.h
+@@ -16,7 +16,7 @@
+ #ifdef va_copy
+ # define USTR_CONF_HAVE_VA_COPY 1
+ # define USTR__VA_COPY(x, y)   va_copy(x, y)
+-#elif __va_copy
++#elif defined(__va_copy)
+ # define USTR_CONF_HAVE_VA_COPY 1
+ # define USTR__VA_COPY(x, y) __va_copy(x, y)
+ #else
+-- 
+tg: (b148fb7..) fixes/stdarg-va_copy (depends on: upstream)
diff --git a/ustr-unused-vars.patch b/ustr-unused-vars.patch
new file mode 100644
index 0000000..f3cb6c6
--- /dev/null
+++ b/ustr-unused-vars.patch
@@ -0,0 +1,77 @@
+From: Václav Ovsík <vaclav.ovsik at gmail.com>
+Subject: [PATCH] fixes/unused-vars
+
+This patch suppresses warnings about unused variables using variable attribute.
+
+Signed-off-by: Václav Ovsík <vaclav.ovsik at gmail.com>
+
+---
+ ustr-compiler.h  | 7 +++++++
+ ustr-main-code.h | 4 ++--
+ ustr-sc-code.h   | 4 ++--
+ 3 files changed, 11 insertions(+), 4 deletions(-)
+
+diff --git a/ustr-compiler.h b/ustr-compiler.h
+index 9e71276..b9a16ed 100644
+--- a/ustr-compiler.h
++++ b/ustr-compiler.h
+@@ -194,6 +194,13 @@
+ #endif
+ 
+ #if defined(__GNUC__) && !defined(__STRICT_ANSI__) && \
++    USTR_CONF_HAVE_ATTR_UNUSED && USTR_CONF_COMPILE_USE_ATTRIBUTES
++# define USTR__COMPILE_ATTR_MAYBE_UNUSED(x) x __attribute__((unused))
++#else
++# define USTR__COMPILE_ATTR_MAYBE_UNUSED(x) x
++#endif
++
++#if defined(__GNUC__) && !defined(__STRICT_ANSI__) && \
+     USTR_CONF_HAVE_ATTR_DEPRECATED && USTR_CONF_COMPILE_USE_ATTRIBUTES
+ # define USTR__COMPILE_ATTR_DEPRECATED() __attribute__ ((__deprecated__))
+ #else
+diff --git a/ustr-main-code.h b/ustr-main-code.h
+index 670be6d..bd37889 100644
+--- a/ustr-main-code.h
++++ b/ustr-main-code.h
+@@ -673,7 +673,7 @@ struct Ustr *ustrp__dupx_undef(struct Ustr_pool *p, size_t sz, size_t rbytes,
+                                int exact, int emem, size_t len)
+ {
+   struct Ustr *ret = USTR_NULL;
+-  struct Ustr *chk = USTR_NULL;
++  struct Ustr *USTR__COMPILE_ATTR_MAYBE_UNUSED(chk) = USTR_NULL;
+   size_t rsz = 0;
+   
+   USTR_ASSERT((rbytes == 0) || (rbytes == 1) || (rbytes == 2) || (rbytes == 4)||
+@@ -1052,7 +1052,7 @@ struct Ustr *ustrp__dupx_empty(struct Ustr_pool *p, size_t sz, size_t rbytes,
+                                int exact, int emem)
+ { /* set the error bit, so we always get malloc()'d data, then clear it */
+   struct Ustr *s1 = ustrp__dupx_undef(p, sz, rbytes, exact, USTR_TRUE, 0);
+-  int eret = USTR_FALSE;
++  int USTR__COMPILE_ATTR_MAYBE_UNUSED(eret) = USTR_FALSE;
+ 
+   if (!s1 || emem)
+     return (s1);
+diff --git a/ustr-sc-code.h b/ustr-sc-code.h
+index 1bb1366..a596a0f 100644
+--- a/ustr-sc-code.h
++++ b/ustr-sc-code.h
+@@ -171,7 +171,7 @@ int ustrp_sc_utf8_reverse(struct Ustr_pool *p, struct Ustrp **ps1)
+ 
+ USTR_CONF_i_PROTO int ustrp__sc_tolower(struct Ustr_pool *p, struct Ustr **ps1)
+ {
+-  size_t clen;
++  size_t USTR__COMPILE_ATTR_MAYBE_UNUSED(clen);
+   size_t len;
+   char *ptr;
+   
+@@ -201,7 +201,7 @@ USTR_CONF_I_PROTO int ustrp_sc_tolower(struct Ustr_pool *p, struct Ustrp **ps1)
+ 
+ USTR_CONF_i_PROTO int ustrp__sc_toupper(struct Ustr_pool *p, struct Ustr **ps1)
+ {
+-  size_t clen;
++  size_t USTR__COMPILE_ATTR_MAYBE_UNUSED(clen);
+   size_t len;
+   char *ptr;
+   
+-- 
+tg: (b148fb7..) fixes/unused-vars (depends on: upstream)
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/ustr.git/commitdiff/1e0c24a0ca134d291a0f776061bf16a6a455024f



More information about the pld-cvs-commit mailing list