Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.2:Ports
eblook
eblook-size_t.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File eblook-size_t.patch of Package eblook
diff -u ../eblook-1.6.1.orig/codeconv.c ../eblook-1.6.1/codeconv.c --- ../eblook-1.6.1.orig/codeconv.c 2003-03-08 23:29:47.000000000 +0900 +++ ../eblook-1.6.1/codeconv.c 2010-08-15 08:33:21.218750000 +0900 @@ -564,7 +564,7 @@ char * xfgets(str, size, fp) char *str; - int size; + size_t size; FILE *fp; { char *ibuf, *ibuf0; @@ -595,7 +595,7 @@ ibuf[ilen]=0; ilen=strlen(ibuf); - status = current_to_euc(&ibuf,&ilen,&str,(size_t *)&size); + status = current_to_euc(&ibuf,&ilen,&str,&size); str0[size0-size]=0; #ifndef HAVE_ALLOCA free(ibuf0); @@ -652,7 +652,6 @@ char **in_buf, **out_buf; size_t *in_len,*out_len; { - static int output_left = -1; int c1, c2; size_t count = 0; @@ -661,6 +660,7 @@ size_t ret; if (cur_to_euc == (iconv_t) -1) return CODECONV_ERROR; + iconv(cur_to_euc,NULL,NULL,NULL,NULL); ret = iconv(cur_to_euc,in_buf,in_len,out_buf,out_len); if (ret != ((size_t)-1)) ret = iconv(cur_to_euc, NULL, in_len, out_buf, out_len); @@ -675,17 +675,6 @@ } #endif /* HAVE_ICONV */ - if (output_left >= 0) { - if (*out_len > 0) { - *((*in_buf)++) = output_left; - (*out_len)--; - count++; - output_left = -1; - } else { - /* Output Buffer Overflow */ - return CODECONV_BUFFER_OVERFLOW; - } - } if (conv_mode == IO_SJIS) { while(*in_len>0) { if (*out_len<=0) break; @@ -724,10 +713,8 @@ *((*out_buf)++) = c1 | 0x80; (*out_len)--; count++; - if (*out_len <= 0) { - output_left = c2; + if (*out_len <= 0) return CODECONV_BUFFER_OVERFLOW; - } *((*out_buf)++) = c2; (*out_len)--; count++; @@ -761,7 +748,6 @@ char **in_buf, **out_buf; size_t *in_len,*out_len; { - static int output_left = -1; int c1, c2; size_t count = 0; @@ -770,6 +756,7 @@ size_t ret; if (euc_to_cur == (iconv_t) -1) return CODECONV_ERROR; + iconv(euc_to_cur,NULL,NULL,NULL,NULL); ret = iconv(euc_to_cur,in_buf,in_len,out_buf,out_len); if (ret != ((size_t)-1)) ret = iconv(euc_to_cur,NULL,in_len,out_buf,out_len); @@ -784,17 +771,6 @@ } #endif /* HAVE_ICONV */ - if (output_left >= 0) { - if (*out_len > 0) { - *((*in_buf)++) = output_left; - (*out_len)--; - count++; - output_left = -1; - } else { - /* Output Buffer Overflow */ - return CODECONV_BUFFER_OVERFLOW; - } - } if (conv_mode == IO_SJIS) { while(*in_len>0) { if (*out_len<=0) break; @@ -829,10 +805,8 @@ *((*out_buf)++) = c1; (*out_len)--; count++; - if (*out_len <= 0) { - output_left = c2; + if (*out_len <= 0) return CODECONV_BUFFER_OVERFLOW; - } *((*out_buf)++) = c2; (*out_len)--; count++; diff -u ../eblook-1.6.1.orig/codeconv.h ../eblook-1.6.1/codeconv.h --- ../eblook-1.6.1.orig/codeconv.h 2003-03-08 23:29:47.000000000 +0900 +++ ../eblook-1.6.1/codeconv.h 2010-08-14 18:44:09.390625000 +0900 @@ -50,7 +50,7 @@ extern int xprintf PROTO((const char *fmt, ...)); extern int xfputs PROTO((const char *str, FILE *fp)); extern int xputs PROTO((const char *str)); -extern char *xfgets PROTO((char *str, int size, FILE *fp)); +extern char *xfgets PROTO((char *str, size_t size, FILE *fp)); extern char *euc_to_jis PROTO((char *jis, const char *euc, int len)); extern char *jis_to_euc PROTO((char *euc, const char *jis, int len)); diff -u ../eblook-1.6.1.orig/eblook.c ../eblook-1.6.1/eblook.c --- ../eblook-1.6.1.orig/eblook.c 2004-06-18 01:09:01.000000000 +0900 +++ ../eblook-1.6.1/eblook.c 2010-08-14 18:50:40.406250000 +0900 @@ -133,7 +133,7 @@ int pclose_pager (FILE *); #endif -char *read_command (char *, int, FILE *); +char *read_command (char *, size_t, FILE *); int excute_command (char *); int parse_command_line (char *, char *[]); #ifdef USE_READLINE @@ -650,7 +650,7 @@ char * read_command (command_line, size, stream) char *command_line; - int size; + size_t size; FILE *stream; { char *p;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor