summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2006-04-24 16:38:09 +0000
committerNicholas Clark <nick@ccl4.org>2006-04-24 16:38:09 +0000
commitc03e83bfc67c29c088e71db6b1168b1b9d7f296b (patch)
tree76044e4a18a7ad4b3489df6713f99e710f0216c2
parent1e6d1c57fd205cfd810b151c03311ad177c103d0 (diff)
downloadperl-c03e83bfc67c29c088e71db6b1168b1b9d7f296b.tar.gz
Perl_unpack_str() is a mathom!
p4raw-id: //depot/perl@27956
-rw-r--r--mathoms.c20
-rw-r--r--pp_pack.c35
2 files changed, 20 insertions, 35 deletions
diff --git a/mathoms.c b/mathoms.c
index a2511b9f91..4dd4584895 100644
--- a/mathoms.c
+++ b/mathoms.c
@@ -1241,6 +1241,26 @@ Perl_cv_ckproto(pTHX_ const CV *cv, const GV *gv, const char *p)
{
cv_ckproto_len(cv, gv, p, p ? strlen(p) : 0);
}
+
+/*
+=for apidoc unpack_str
+
+The engine implementing unpack() Perl function. Note: parameters strbeg, new_s
+and ocnt are not used. This call should not be used, use unpackstring instead.
+
+=cut */
+
+I32
+Perl_unpack_str(pTHX_ const char *pat, const char *patend, const char *s,
+ const char *strbeg, const char *strend, char **new_s, I32 ocnt,
+ U32 flags)
+{
+ PERL_UNUSED_ARG(strbeg);
+ PERL_UNUSED_ARG(new_s);
+ PERL_UNUSED_ARG(ocnt);
+
+ return unpackstring(pat, patend, s, strend, flags);
+}
#endif /* NO_MATHOMS */
/*
diff --git a/pp_pack.c b/pp_pack.c
index a5b81635f6..220b3e87e6 100644
--- a/pp_pack.c
+++ b/pp_pack.c
@@ -1154,41 +1154,6 @@ first_symbol(const char *pat, const char *patend) {
}
/*
-=for apidoc unpack_str
-
-The engine implementing unpack() Perl function. Note: parameters strbeg, new_s
-and ocnt are not used. This call should not be used, use unpackstring instead.
-
-=cut */
-
-I32
-Perl_unpack_str(pTHX_ const char *pat, const char *patend, const char *s, const char *strbeg, const char *strend, char **new_s, I32 ocnt, U32 flags)
-{
- tempsym_t sym;
- PERL_UNUSED_ARG(strbeg);
- PERL_UNUSED_ARG(new_s);
- PERL_UNUSED_ARG(ocnt);
-
- if (flags & FLAG_DO_UTF8) flags |= FLAG_WAS_UTF8;
- else if (need_utf8(pat, patend)) {
- /* We probably should try to avoid this in case a scalar context call
- wouldn't get to the "U0" */
- STRLEN len = strend - s;
- s = (char *) bytes_to_utf8((U8 *) s, &len);
- SAVEFREEPV(s);
- strend = s + len;
- flags |= FLAG_DO_UTF8;
- }
-
- if (first_symbol(pat, patend) != 'U' && (flags & FLAG_DO_UTF8))
- flags |= FLAG_PARSE_UTF8;
-
- TEMPSYM_INIT(&sym, pat, patend, flags);
-
- return unpack_rec(&sym, s, s, strend, NULL );
-}
-
-/*
=for apidoc unpackstring
The engine implementing unpack() Perl function. C<unpackstring> puts the