Lines 315-331
Link Here
|
315 |
smb_copy_iconv(struct mbchain *mbp, c_caddr_t src, caddr_t dst, |
315 |
smb_copy_iconv(struct mbchain *mbp, c_caddr_t src, caddr_t dst, |
316 |
size_t *srclen, size_t *dstlen) |
316 |
size_t *srclen, size_t *dstlen) |
317 |
{ |
317 |
{ |
318 |
int error; |
|
|
319 |
size_t inlen = *srclen, outlen = *dstlen; |
318 |
size_t inlen = *srclen, outlen = *dstlen; |
320 |
|
319 |
|
321 |
error = iconv_conv((struct iconv_drv*)mbp->mb_udata, &src, &inlen, |
320 |
(void)iconv_conv((struct iconv_drv*)mbp->mb_udata, &src, &inlen, |
322 |
&dst, &outlen); |
321 |
&dst, &outlen); |
323 |
if (inlen != *srclen || outlen != *dstlen) { |
322 |
if (inlen != *srclen || outlen != *dstlen) { |
324 |
*srclen -= inlen; |
323 |
*srclen -= inlen; |
325 |
*dstlen -= outlen; |
324 |
*dstlen -= outlen; |
326 |
return 0; |
325 |
return 0; |
327 |
} else |
326 |
} else |
328 |
return error; |
327 |
return (EINVAL); |
329 |
} |
328 |
} |
330 |
|
329 |
|
331 |
int |
330 |
int |