diff options
Diffstat (limited to 'src/euc_kr.c')
| -rw-r--r-- | src/euc_kr.c | 13 | 
1 files changed, 10 insertions, 3 deletions
| diff --git a/src/euc_kr.c b/src/euc_kr.c index 7fa50af..b0e9fbf 100644 --- a/src/euc_kr.c +++ b/src/euc_kr.c @@ -2,7 +2,7 @@    euc_kr.c -  Oniguruma (regular expression library)  **********************************************************************/  /*- - * Copyright (c) 2002-2019  K.Kosako + * Copyright (c) 2002-2020  K.Kosako   * All rights reserved.   *   * Redistribution and use in source and binary forms, with or without @@ -58,8 +58,15 @@ static int  euckr_code_to_mbclen(OnigCodePoint code)  {    if ((code & (~0xffff)) != 0) return ONIGERR_INVALID_CODE_POINT_VALUE; -  if ((code &    0xff00) != 0) return 2; -  if (EncLen_EUCKR[(int )(code & 0xff)] == 1) return 1; + +  if ((code & 0xff00) != 0) { +    if (EncLen_EUCKR[(int )(code >> 8) & 0xff] == 2) +      return 2; +  } +  else { +    if (EncLen_EUCKR[(int )(code & 0xff)] == 1) +      return 1; +  }    return ONIGERR_INVALID_CODE_POINT_VALUE;  } | 
