summaryrefslogtreecommitdiff
path: root/ext/Encode/Encode.xs
diff options
context:
space:
mode:
authorNick Ing-Simmons <nik@tiuk.ti.com>2001-03-25 20:49:11 +0000
committerNick Ing-Simmons <nik@tiuk.ti.com>2001-03-25 20:49:11 +0000
commit8040349a05f5a3f1e93bde55d8359e415c47bf01 (patch)
tree3c0e03a9c3f33711c4cd87499665c9015fc48fec /ext/Encode/Encode.xs
parenta144b9898613715625621889c13893a8238e4af6 (diff)
downloadperl-8040349a05f5a3f1e93bde55d8359e415c47bf01.tar.gz
Avoid at leasy one of undefined warnings in Encode.
p4raw-id: //depot/perlio@9345
Diffstat (limited to 'ext/Encode/Encode.xs')
-rw-r--r--ext/Encode/Encode.xs11
1 files changed, 9 insertions, 2 deletions
diff --git a/ext/Encode/Encode.xs b/ext/Encode/Encode.xs
index 74303c9389..13ba7045c4 100644
--- a/ext/Encode/Encode.xs
+++ b/ext/Encode/Encode.xs
@@ -219,9 +219,11 @@ PerlIOEncode_flush(PerlIO *f)
{
PerlIOEncode *e = PerlIOSelf(f,PerlIOEncode);
IV code = 0;
- dTHX;
- if (e->bufsv && (PerlIOBase(f)->flags & (PERLIO_F_RDBUF|PERLIO_F_WRBUF)))
+ if (e->bufsv && (PerlIOBase(f)->flags & (PERLIO_F_RDBUF|PERLIO_F_WRBUF))
+ &&(e->base.ptr > e->base.buf)
+ )
{
+ dTHX;
dSP;
SV *str;
char *s;
@@ -452,6 +454,11 @@ encode_method(pTHX_ encode_t *enc, encpage_t *dir, SV *src, int check)
SvCUR_set(src,SvCUR(src)-slen);
}
}
+ else
+ {
+ SvCUR_set(dst,slen);
+ SvPOK_on(dst);
+ }
return dst;
}