Roxen.git/
server/
etc/
modules/
RXML.pmod/
module.pmod
Branch:
Tag:
Non-build tags
All tags
No tags
2000-03-20
2000-03-20 07:27:12 by Martin Stjernholm <mast@lysator.liu.se>
9477399bd0edf0178fb0ba1c557c1d7b52bef79f (
24
lines) (+
13
/-
11
)
[
Show
|
Annotate
]
Branch:
5.2
Fixed an indexing zero bug in Type.eval().
Rev: server/etc/modules/RXML.pmod/module.pmod:1.85
2:
//! //! Created 1999-07-30 by Martin Stjernholm. //!
-
//! $Id: module.pmod,v 1.
84
2000/03/
19
16
:
32
:
51
nilsson
Exp $
+
//! $Id: module.pmod,v 1.
85
2000/03/
20
07
:
27
:
12
mast
Exp $
//! Kludge: Must use "RXML.refs" somewhere for the whole module to be //! loaded correctly.
1368:
//! as above. If the result variable is Void (which it defaults to), //! content is used as result if it's of a compatible type. //!
-
//! Regarding do_process only:
-
//!
-
//! Normally the content variable is set to the parsed content of
-
//! the tag before do_process() is called. This may be Void if the
-
//! content parsing didn't produce any result.
-
//!
+
//! If there is no do_return() and the result from parsing the //! content is not Void, it's assigned to or added to the content //! variable. Assignment is used if the content type is //! nonsequential, addition otherwise. Thus earlier values are //! simply overridden for nonsequential types. //!
-
+
//! Regarding do_process only:
+
//!
+
//! Normally the content variable is set to the parsed content of
+
//! the tag before do_process() is called. This may be Void if the
+
//! content parsing didn't produce any result.
+
//!
//! piece is used when the tag is operating in streaming mode (i.e. //! FLAG_STREAM_CONTENT is set). It's then set to each successive //! part of the content in the stream, and the content variable is
2734:
p->__object_marker->create (p); #endif if (_p_cache) {
-
//
Relying on interpreter lock in this block.
-
PCacheObj pco = _p_cache[tag_set || ctx->tag_set]
;
+
if
(
PCacheObj pco = _p_cache[tag_set || ctx->tag_set]
) {
+
// Relying on interpreter lock here.
p->_next_free = pco->free_parser; pco->free_parser = p; }
-
+
}
else { // Relying on interpreter lock in this block. p->_next_free = free_parser;