aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--iconv/loop.c2
-rw-r--r--iconv/skeleton.c4
3 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 2c57fc412e..1b54df5372 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2000-04-20 Ulrich Drepper <drepper@redhat.com>
+
+ * iconv/skeleton.c: Add some more __builtin_expect.
+ * iconv/loop.c: Likewise.
+
2000-03-08 H.J. Lu <hjl@gnu.org>
* posix/regex.c (regex_compile): Correctly handle "\{" when
diff --git a/iconv/loop.c b/iconv/loop.c
index ffdd24d7e3..c8f893406a 100644
--- a/iconv/loop.c
+++ b/iconv/loop.c
@@ -307,7 +307,7 @@ SINGLE(LOOPFCT) (const unsigned char **inptrp, const unsigned char *inend,
#endif
/* Are there enough bytes in the input buffer? */
- if (inptr + (MAX_NEEDED_INPUT - inlen) > inend)
+ if (__builtin_expect (inptr + (MAX_NEEDED_INPUT - inlen) > inend, 0))
{
#ifdef STORE_REST
*inptrp = inend;
diff --git a/iconv/skeleton.c b/iconv/skeleton.c
index 50ee45d2c9..81677cc7d9 100644
--- a/iconv/skeleton.c
+++ b/iconv/skeleton.c
@@ -281,7 +281,7 @@ FUNCTION_NAME (struct __gconv_step *step, struct __gconv_step_data *data,
/* If the function is called with no input this means we have to reset
to the initial state. The possibly partly converted input is
dropped. */
- if (do_flush)
+ if (__builtin_expect (do_flush, 0))
{
status = __GCONV_OK;
@@ -439,7 +439,7 @@ FUNCTION_NAME (struct __gconv_step *step, struct __gconv_step_data *data,
if (result != __GCONV_EMPTY_INPUT)
{
- if (outerr != outbuf)
+ if (__builtin_expect (outerr != outbuf, 0))
{
#ifdef RESET_INPUT_BUFFER
RESET_INPUT_BUFFER;