comparison src/vbuf.c @ 309:4fd5197aacc2

fix charset issue with iconv return value
author Carl Byington <carl@five-ten-sg.com>
date Mon, 14 Dec 2009 22:19:50 -0800
parents 320cfcba8058
children
comparison
equal deleted inserted replaced
308:97c53c6868ab 309:4fd5197aacc2
69 size_t icresult = (size_t)-1; 69 size_t icresult = (size_t)-1;
70 size_t outbytesleft = 0; 70 size_t outbytesleft = 0;
71 char *outbuf = NULL; 71 char *outbuf = NULL;
72 int myerrno; 72 int myerrno;
73 73
74 DEBUG_ENT("sbcs_conversion");
74 pst_vbresize(dest, 2*iblen); 75 pst_vbresize(dest, 2*iblen);
75 76
76 do { 77 do {
77 outbytesleft = dest->blen - dest->dlen; 78 outbytesleft = dest->blen - dest->dlen;
78 outbuf = dest->b + dest->dlen; 79 outbuf = dest->b + dest->dlen;
83 } while ((size_t)-1 == icresult && E2BIG == myerrno); 84 } while ((size_t)-1 == icresult && E2BIG == myerrno);
84 85
85 if (icresult == (size_t)-1) { 86 if (icresult == (size_t)-1) {
86 DEBUG_WARN(("iconv failure: %s\n", strerror(myerrno))); 87 DEBUG_WARN(("iconv failure: %s\n", strerror(myerrno)));
87 pst_unicode_init(); 88 pst_unicode_init();
89 DEBUG_RET();
88 return (size_t)-1; 90 return (size_t)-1;
89 } 91 }
90 return (icresult) ? (size_t)-1 : 0; 92 DEBUG_RET();
93 return 0;
91 } 94 }
92 95
93 96
94 static void pst_unicode_close(); 97 static void pst_unicode_close();
95 static void pst_unicode_close() 98 static void pst_unicode_close()