Compare commits
No commits in common. "master" and "1.3.0" have entirely different histories.
|
@ -24,7 +24,7 @@ utf8_decode_char2(const char* src, size_t size, size_t* used)
|
||||||
|
|
||||||
if(!src || !size) {
|
if(!src || !size) {
|
||||||
errno = EINVAL;
|
errno = EINVAL;
|
||||||
return (wchar_t)-1;
|
return 0;
|
||||||
}
|
}
|
||||||
if(used) *used = 1;
|
if(used) *used = 1;
|
||||||
ch = *src++;
|
ch = *src++;
|
||||||
|
@ -57,26 +57,26 @@ utf8_decode_char2(const char* src, size_t size, size_t* used)
|
||||||
ret = ch & 0x01;
|
ret = ch & 0x01;
|
||||||
} else {
|
} else {
|
||||||
errno = EILSEQ;
|
errno = EILSEQ;
|
||||||
return (wchar_t)-1;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
while(remain--) {
|
while(remain--) {
|
||||||
if(!--size) {
|
if(!--size) {
|
||||||
errno = EILSEQ;
|
errno = EILSEQ;
|
||||||
return (wchar_t)-1;
|
return 0;
|
||||||
}
|
}
|
||||||
ch = *src++;
|
ch = *src++;
|
||||||
if((ch & 0xC0) != 0x80) {
|
if((ch & 0xC0) != 0x80) {
|
||||||
errno = EILSEQ;
|
errno = EILSEQ;
|
||||||
return (wchar_t)-1;
|
return 0;
|
||||||
}
|
}
|
||||||
ret <<= 6;
|
ret <<= 6;
|
||||||
ret |= ch & 0x3F;
|
ret |= ch & 0x3F;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(ret < min) {
|
if(ch < min) {
|
||||||
errno = EILSEQ;
|
errno = EILSEQ;
|
||||||
return (wchar_t)-1;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -104,7 +104,7 @@ utf8_decode_char2_force(const char* src, size_t size, size_t* used,
|
||||||
|
|
||||||
if(!src || !size) {
|
if(!src || !size) {
|
||||||
errno = EINVAL;
|
errno = EINVAL;
|
||||||
return (wchar_t)-1;
|
return 0;
|
||||||
}
|
}
|
||||||
if(used) *used = 1;
|
if(used) *used = 1;
|
||||||
ch = *src++;
|
ch = *src++;
|
||||||
|
@ -143,7 +143,7 @@ utf8_decode_char2_force(const char* src, size_t size, size_t* used,
|
||||||
ret |= ch & 0x3F;
|
ret |= ch & 0x3F;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(ret < min) goto ILSEQ;
|
if(ch < min) goto ILSEQ;
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,8 @@
|
||||||
struct utf8_encode_state*
|
struct utf8_encode_state*
|
||||||
utf8_encoder(struct utf8_encode_state* state)
|
utf8_encoder(struct utf8_encode_state* state)
|
||||||
{
|
{
|
||||||
char* wr, * ret, * endp;
|
char* wr = state->wr, * ret;
|
||||||
|
char* endp = wr + state->wr_size - 1;
|
||||||
wchar_t ch;
|
wchar_t ch;
|
||||||
enum utf8_encode_error_action error_action;
|
enum utf8_encode_error_action error_action;
|
||||||
int reencoding;
|
int reencoding;
|
||||||
|
@ -20,9 +21,6 @@ utf8_encoder(struct utf8_encode_state* state)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
wr = state->wr;
|
|
||||||
endp = wr + state->wr_size - 1;
|
|
||||||
|
|
||||||
state->written = 0;
|
state->written = 0;
|
||||||
while(state->rd_remain) {
|
while(state->rd_remain) {
|
||||||
ch = *state->rd;
|
ch = *state->rd;
|
||||||
|
|
|
@ -12,4 +12,4 @@
|
||||||
SOMAJOR=1
|
SOMAJOR=1
|
||||||
|
|
||||||
# SOMICRO is bumped every time there is a binary-compatible release.
|
# SOMICRO is bumped every time there is a binary-compatible release.
|
||||||
SOMICRO=2
|
SOMICRO=0
|
||||||
|
|
2
version
2
version
|
@ -11,7 +11,7 @@
|
||||||
# expected to be in 'major.minor.micro' format.
|
# expected to be in 'major.minor.micro' format.
|
||||||
VERMAJOR=1
|
VERMAJOR=1
|
||||||
VERMINOR=3
|
VERMINOR=3
|
||||||
VERMICRO=2
|
VERMICRO=0
|
||||||
|
|
||||||
# kate: replace-trailing-space-save true; space-indent true; tab-width 4;
|
# kate: replace-trailing-space-save true; space-indent true; tab-width 4;
|
||||||
# vim: expandtab:ts=4:sw=4:syntax=sh
|
# vim: expandtab:ts=4:sw=4:syntax=sh
|
||||||
|
|
Loading…
Reference in New Issue