summaryrefslogtreecommitdiff
path: root/lib/mbiter.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mbiter.h')
-rw-r--r--lib/mbiter.h22
1 files changed, 16 insertions, 6 deletions
diff --git a/lib/mbiter.h b/lib/mbiter.h
index 8f443b5..f3a8ecb 100644
--- a/lib/mbiter.h
+++ b/lib/mbiter.h
@@ -1,5 +1,5 @@
/* Iterating through multibyte strings: macros for multi-byte encodings.
- Copyright (C) 2001, 2005, 2007, 2009, 2010 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2005, 2007, 2009-2015 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
@@ -47,9 +47,9 @@
initializes the iterator, starting at startptr and crossing length bytes.
mbi_avail (iter)
- returns true if there are more multibyte chracters available before
+ returns true if there are more multibyte characters available before
the end of string is reached. In this case, mbi_cur (iter) is
- initialized to the next multibyte chracter.
+ initialized to the next multibyte character.
mbi_advance (iter)
advances the iterator by one multibyte character.
@@ -97,6 +97,14 @@
#include "mbchar.h"
+#ifndef _GL_INLINE_HEADER_BEGIN
+ #error "Please include config.h first."
+#endif
+_GL_INLINE_HEADER_BEGIN
+#ifndef MBITER_INLINE
+# define MBITER_INLINE _GL_INLINE
+#endif
+
struct mbiter_multi
{
const char *limit; /* pointer to end of string */
@@ -112,7 +120,7 @@ struct mbiter_multi
*/
};
-static inline void
+MBITER_INLINE void
mbiter_multi_next (struct mbiter_multi *iter)
{
if (iter->next_done)
@@ -172,14 +180,14 @@ mbiter_multi_next (struct mbiter_multi *iter)
iter->next_done = true;
}
-static inline void
+MBITER_INLINE void
mbiter_multi_reloc (struct mbiter_multi *iter, ptrdiff_t ptrdiff)
{
iter->cur.ptr += ptrdiff;
iter->limit += ptrdiff;
}
-static inline void
+MBITER_INLINE void
mbiter_multi_copy (struct mbiter_multi *new_iter, const struct mbiter_multi *old_iter)
{
new_iter->limit = old_iter->limit;
@@ -212,4 +220,6 @@ typedef struct mbiter_multi mbi_iterator_t;
/* Copying an iterator. */
#define mbi_copy mbiter_multi_copy
+_GL_INLINE_HEADER_END
+
#endif /* _MBITER_H */