Roxen.git / server / etc / modules / RXML.pmod / utils.pmod

version» Context lines:

Roxen.git/server/etc/modules/RXML.pmod/utils.pmod:1:   //! Things that belong elsewhere but can't lie there for various silly   //! reasons. Everything here is considered internal and not part of   //! the RXML.pmod API.   //!   //! E.g. one reason is to avoid circular references in the parser   //! objects when the callbacks are defined in them.   //!   //! Created 2000-01-21 by Martin Stjernholm   //! - //! $Id: utils.pmod,v 1.30 2002/07/16 09:24:11 mast Exp $ + //! $Id: utils.pmod,v 1.31 2002/07/17 14:17:08 mast Exp $      constant is_RXML_encodable = 1;      #ifdef RXML_ENCODE_DEBUG   string _sprintf() {return "RXML.utils.pmod";}   #endif      constant short_format_length = 40;      final string format_short (mixed val, void|int length)
Roxen.git/server/etc/modules/RXML.pmod/utils.pmod:179:    // Don't decode normal entities if we're outputting xml-like stuff.    if (sscanf (entity,    (<"#x", "#X">)[entity[..1]] ? "%*2s%x%*c" : "%*c%d%*c",    int char) == 2)    catch (str = (string) ({char}));    // Lax error handling: Just let it through if it can't be    // converted. Not really good, though.    }    }    else -  if (entity[0] == ':') str = entity[1..]; +  if (entity[0] == ':') return ({"&", entity[1..], ";"});    else if (has_value (entity, ".")) {    p->drain_output();    mixed value = p->handle_var (    entity,    // No quoting of splice args. FIXME: Add some sort of    // safeguard against splicing in things like "nice><evil    // stuff='...'"?    p->html_context() == "splice_arg" ? RXML.t_any_text : type);    if (value != RXML.nil) p->add_value (value);    return ({});    }    return ({str});   }      final int(1..1)|string|array p_xml_compat_entity_cb (object/*(RMXL.PXml)*/ p, string str)   {    RXML.Type type = p->type;    string entity = p->tag_name();    if (sizeof (entity) && entity[0] != '#') -  if (entity[0] == ':') str = entity[1..]; +  if (entity[0] == ':') return ({"&", entity[1..], ";"});    else if (has_value (entity, ".")) {    p->drain_output();    mixed value = p->handle_var (    entity,    // No quoting of splice args. FIXME: Add some sort of    // safeguard against splicing in things like "nice><evil    // stuff='...'"?    p->html_context() == "splice_arg" ? RXML.t_any_text : type);    if (value != RXML.nil) p->add_value (value);    return ({});    }    return ({str});   }