diff --git a/Expat/Expat.xs b/Expat/Expat.xs index 124164c..1158851 100644 --- a/Expat/Expat.xs +++ b/Expat/Expat.xs @@ -108,7 +108,7 @@ static void suspend_callbacks(CallbackVector *); static void resume_callbacks(CallbackVector *); static SV * -newUTF8SVpv(char *s, STRLEN len) { +newUTF8SVpv(const char *s, STRLEN len) { SV *sv; sv = newSVpv(s, len); @@ -117,7 +117,7 @@ newUTF8SVpv(char *s, STRLEN len) { } /* End new UTF8SVpv */ static SV * -newUTF8SVpvn(char *s, STRLEN len) { +newUTF8SVpvn(const char *s, STRLEN len) { SV *sv; sv = newSV(0); @@ -155,7 +155,7 @@ free_cbv(CallbackVector *cbv) } static void -append_error(XML_Parser parser, char * err) +append_error(XML_Parser parser, const char * err) { dSP; CallbackVector * cbv; @@ -171,7 +171,7 @@ append_error(XML_Parser parser, char * err) int dopos = !err && errctx && SvOK(*errctx); if (! err) - err = (char *) XML_ErrorString(XML_GetErrorCode(parser)); + err = XML_ErrorString(XML_GetErrorCode(parser)); /* Avoid truncation on 32-bit perls when expat is built with XML_LARGE_SIZE (long long types). Use NV (double, 53-bit @@ -240,7 +240,7 @@ generate_model(XML_Content *model) { switch(model->type) { case XML_CTYPE_NAME: - hv_store(hash, "Tag", 3, newUTF8SVpv((char *)model->name, 0), 0); + hv_store(hash, "Tag", 3, newUTF8SVpv(model->name, 0), 0); break; case XML_CTYPE_MIXED: @@ -416,7 +416,7 @@ gen_ns_name(const char * name, HV * ns_table, AV * ns_list) if (pos && pos > name) { - SV ** name_ent = hv_fetch(ns_table, (char *) name, + SV ** name_ent = hv_fetch(ns_table, name, pos - name, TRUE); ret = newUTF8SVpv(&pos[1], 0); @@ -430,7 +430,7 @@ gen_ns_name(const char * name, HV * ns_table, AV * ns_list) } else { - av_push(ns_list, newUTF8SVpv((char *) name, pos - name)); + av_push(ns_list, newUTF8SVpv(name, pos - name)); index = av_len(ns_list); sv_setiv(*name_ent, (IV) index); } @@ -440,7 +440,7 @@ gen_ns_name(const char * name, HV * ns_table, AV * ns_list) } } else - ret = newUTF8SVpv((char *) name, 0); + ret = newUTF8SVpv(name, 0); return ret; } /* End gen_ns_name */ @@ -496,7 +496,7 @@ startElement(void *userData, const char *name, const char **atts) if (do_ns) elname = gen_ns_name(name, cbv->nstab, cbv->nslst); else - elname = newUTF8SVpv((char *)name, 0); + elname = newUTF8SVpv(name, 0); if (! skipping && SvTRUE(cbv->start_sv)) { @@ -518,7 +518,7 @@ startElement(void *userData, const char *name, const char **atts) SV * attname; attname = (do_ns ? gen_ns_name(*atts, cbv->nstab, cbv->nslst) - : newUTF8SVpv((char *) *atts, 0)); + : newUTF8SVpv(*atts, 0)); atts++; PUSHs(sv_2mortal(attname)); @@ -668,8 +668,8 @@ nsStart(void *userdata, const XML_Char *prefix, const XML_Char *uri){ PUSHMARK(sp); EXTEND(sp, 3); PUSHs(cbv->self_sv); - PUSHs(prefix ? sv_2mortal(newUTF8SVpv((char *)prefix, 0)) : &PL_sv_undef); - PUSHs(uri ? sv_2mortal(newUTF8SVpv((char *)uri, 0)) : &PL_sv_undef); + PUSHs(prefix ? sv_2mortal(newUTF8SVpv(prefix, 0)) : &PL_sv_undef); + PUSHs(uri ? sv_2mortal(newUTF8SVpv(uri, 0)) : &PL_sv_undef); PUTBACK; call_method("NamespaceStart", G_DISCARD|G_VOID); @@ -688,7 +688,7 @@ nsEnd(void *userdata, const XML_Char *prefix) { PUSHMARK(sp); EXTEND(sp, 2); PUSHs(cbv->self_sv); - PUSHs(prefix ? sv_2mortal(newUTF8SVpv((char *)prefix, 0)) : &PL_sv_undef); + PUSHs(prefix ? sv_2mortal(newUTF8SVpv(prefix, 0)) : &PL_sv_undef); PUTBACK; call_method("NamespaceEnd", G_DISCARD|G_VOID); @@ -734,7 +734,7 @@ elementDecl(void *data, PUSHMARK(sp); EXTEND(sp, 3); PUSHs(cbv->self_sv); - PUSHs(sv_2mortal(newUTF8SVpv((char *)name, 0))); + PUSHs(sv_2mortal(newUTF8SVpv(name, 0))); PUSHs(sv_2mortal(cmod)); PUTBACK; call_sv(cbv->eledcl_sv, G_DISCARD|G_VOID); @@ -756,7 +756,7 @@ attributeDecl(void *data, if (dflt) { dfltsv = newUTF8SVpv("'", 1); - sv_catpv(dfltsv, (char *) dflt); + sv_catpv(dfltsv, dflt); sv_catpv(dfltsv, "'"); } else { @@ -768,9 +768,9 @@ attributeDecl(void *data, PUSHMARK(sp); EXTEND(sp, 5); PUSHs(cbv->self_sv); - PUSHs(sv_2mortal(newUTF8SVpv((char *)elname, 0))); - PUSHs(sv_2mortal(newUTF8SVpv((char *)attname, 0))); - PUSHs(sv_2mortal(newUTF8SVpv((char *)att_type, 0))); + PUSHs(sv_2mortal(newUTF8SVpv(elname, 0))); + PUSHs(sv_2mortal(newUTF8SVpv(attname, 0))); + PUSHs(sv_2mortal(newUTF8SVpv(att_type, 0))); PUSHs(sv_2mortal(dfltsv)); if (dflt && reqorfix) XPUSHs(&PL_sv_yes); @@ -800,11 +800,11 @@ entityDecl(void *data, PUSHMARK(sp); EXTEND(sp, 6); PUSHs(cbv->self_sv); - PUSHs(sv_2mortal(newUTF8SVpv((char*)name, 0))); - PUSHs(value ? sv_2mortal(newUTF8SVpvn((char*)value, vlen)) : &PL_sv_undef); - PUSHs(sysid ? sv_2mortal(newUTF8SVpv((char *)sysid, 0)) : &PL_sv_undef); - PUSHs(pubid ? sv_2mortal(newUTF8SVpv((char *)pubid, 0)) : &PL_sv_undef); - PUSHs(notation ? sv_2mortal(newUTF8SVpv((char *)notation, 0)) : &PL_sv_undef); + PUSHs(sv_2mortal(newUTF8SVpv(name, 0))); + PUSHs(value ? sv_2mortal(newUTF8SVpvn(value, vlen)) : &PL_sv_undef); + PUSHs(sysid ? sv_2mortal(newUTF8SVpv(sysid, 0)) : &PL_sv_undef); + PUSHs(pubid ? sv_2mortal(newUTF8SVpv(pubid, 0)) : &PL_sv_undef); + PUSHs(notation ? sv_2mortal(newUTF8SVpv(notation, 0)) : &PL_sv_undef); if (isparam) XPUSHs(&PL_sv_yes); PUTBACK; @@ -882,9 +882,9 @@ xmlDecl(void *userData, PUSHMARK(sp); EXTEND(sp, 4); PUSHs(cbv->self_sv); - PUSHs(version ? sv_2mortal(newUTF8SVpv((char *)version, 0)) + PUSHs(version ? sv_2mortal(newUTF8SVpv(version, 0)) : &PL_sv_undef); - PUSHs(encoding ? sv_2mortal(newUTF8SVpv((char *)encoding, 0)) + PUSHs(encoding ? sv_2mortal(newUTF8SVpv(encoding, 0)) : &PL_sv_undef); PUSHs(standalone == -1 ? &PL_sv_undef : (standalone ? &PL_sv_yes : &PL_sv_no)); @@ -911,11 +911,11 @@ unparsedEntityDecl(void *userData, PUSHMARK(sp); EXTEND(sp, 6); PUSHs(cbv->self_sv); - PUSHs(sv_2mortal(newUTF8SVpv((char*) entity, 0))); - PUSHs(base ? sv_2mortal(newUTF8SVpv((char*) base, 0)) : &PL_sv_undef); - PUSHs(sv_2mortal(newUTF8SVpv((char*) sysid, 0))); - PUSHs(pubid ? sv_2mortal(newUTF8SVpv((char*) pubid, 0)) : &PL_sv_undef); - PUSHs(sv_2mortal(newUTF8SVpv((char*) notation, 0))); + PUSHs(sv_2mortal(newUTF8SVpv(entity, 0))); + PUSHs(base ? sv_2mortal(newUTF8SVpv(base, 0)) : &PL_sv_undef); + PUSHs(sv_2mortal(newUTF8SVpv(sysid, 0))); + PUSHs(pubid ? sv_2mortal(newUTF8SVpv(pubid, 0)) : &PL_sv_undef); + PUSHs(sv_2mortal(newUTF8SVpv(notation, 0))); PUTBACK; call_sv(cbv->unprsd_sv, G_DISCARD|G_VOID); @@ -939,10 +939,10 @@ notationDecl(void *userData, PUSHMARK(sp); EXTEND(sp, 5); PUSHs(cbv->self_sv); - PUSHs(sv_2mortal(newUTF8SVpv((char*) name, 0))); - PUSHs(base ? sv_2mortal(newUTF8SVpv((char *) base, 0)) : &PL_sv_undef); - PUSHs(sysid ? sv_2mortal(newUTF8SVpv((char *) sysid, 0)) : &PL_sv_undef); - PUSHs(pubid ? sv_2mortal(newUTF8SVpv((char *) pubid, 0)) : &PL_sv_undef); + PUSHs(sv_2mortal(newUTF8SVpv(name, 0))); + PUSHs(base ? sv_2mortal(newUTF8SVpv(base, 0)) : &PL_sv_undef); + PUSHs(sysid ? sv_2mortal(newUTF8SVpv(sysid, 0)) : &PL_sv_undef); + PUSHs(pubid ? sv_2mortal(newUTF8SVpv(pubid, 0)) : &PL_sv_undef); PUTBACK; call_sv(cbv->notation_sv, G_DISCARD|G_VOID); @@ -1033,7 +1033,7 @@ externalEntityRef(XML_Parser parser, append_error(parser, "Can't find parser entry in XML::Parser object"); else { XML_Parser entpar; - char *errmsg = (char *) 0; + char *errmsg = NULL; entpar = XML_ExternalEntityParserCreate(parser, open, 0); if (! entpar) { @@ -1228,10 +1228,10 @@ recString(void *userData, const char *string, int len) CallbackVector *cbv = (CallbackVector*) userData; if (cbv->recstring) { - sv_catpvn(cbv->recstring, (char *) string, len); + sv_catpvn(cbv->recstring, string, len); } else { - cbv->recstring = newUTF8SVpvn((char *) string, len); + cbv->recstring = newUTF8SVpvn(string, len); } } /* End recString */ @@ -1320,7 +1320,7 @@ XML_ParserCreate(self_sv, enc_sv, namespaces) CODE: { CallbackVector *cbv; - char *enc = (char *) (SvTRUE(enc_sv) ? SvPV_nolen(enc_sv) : 0); + char *enc = SvTRUE(enc_sv) ? SvPV_nolen(enc_sv) : NULL; SV ** spp; Newxz(cbv, 1, CallbackVector); @@ -1528,7 +1528,7 @@ XML_ParseStream(parser, ioref, delim) cbv->delim = SvPV(delim, cbv->delimlen); } else { - cbv->delim = (char *) 0; + cbv->delim = NULL; } RETVAL = parse_stream(parser, ioref); @@ -1873,7 +1873,7 @@ XML_SetBase(parser, base) char * b; if (! SvOK(base)) { - b = (char *) 0; + b = NULL; } else { b = SvPV_nolen(base); @@ -1951,7 +1951,7 @@ XML_PositionContext(parser, lines) relpos = length; EXTEND(sp, 2); - PUSHs(sv_2mortal(newSVpvn((char *) markbeg, length))); + PUSHs(sv_2mortal(newSVpvn(markbeg, length))); PUSHs(sv_2mortal(newSViv(relpos))); SV * @@ -2252,7 +2252,7 @@ XML_OriginalString(parser) int parsepos, size; const char *buff = XML_GetInputContext(parser, &parsepos, &size); if (buff) { - RETVAL = newSVpvn((char *) &buff[parsepos], + RETVAL = newSVpvn(&buff[parsepos], XML_GetCurrentByteCount(parser)); } else {