summary refs log tree commit diff
path: root/iconvdata/gbgbk.c
diff options
context:
space:
mode:
Diffstat (limited to 'iconvdata/gbgbk.c')
-rw-r--r--iconvdata/gbgbk.c29
1 files changed, 5 insertions, 24 deletions
diff --git a/iconvdata/gbgbk.c b/iconvdata/gbgbk.c
index 0afcd72311..02e25f31e3 100644
--- a/iconvdata/gbgbk.c
+++ b/iconvdata/gbgbk.c
@@ -102,31 +102,12 @@
 		&& __builtin_expect (ch, 0xa1a1) <= 0xa8c0))		      \
 	  {								      \
 	    /* One of the characters we cannot map.  */			      \
-	    if (step_data->__trans.__trans_fct != NULL)			      \
-	      {								      \
-		result = DL_CALL_FCT (step_data->__trans.__trans_fct,	      \
-				      (step, step_data, *inptrp, &inptr,      \
-				       inend, &outptr, irreversible));	      \
-		if (result != __GCONV_OK)				      \
-		  break;						      \
-	      }								      \
-	    else if (! ignore_errors_p ())				      \
-	      {								      \
-		result = __GCONV_ILLEGAL_INPUT;				      \
-		break;							      \
-	      }								      \
-	    else							      \
-	      {								      \
-		inptr += 2;						      \
-		++*irreversible;					      \
-	      }								      \
-	  }								      \
-	else								      \
-	  {								      \
-	    /* Copy the two bytes.  */					      \
-	    *outptr++ = *inptr++;					      \
-	    *outptr++ = *inptr++;					      \
+	    STANDARD_ERR_HANDLER (2);					      \
 	  }								      \
+									      \
+	/* Copy the two bytes.  */					      \
+	*outptr++ = *inptr++;						      \
+	*outptr++ = *inptr++;						      \
       }									      \
   }
 #define LOOP_NEED_FLAGS