[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/asobj/xml.cpp server/aso...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/asobj/xml.cpp server/aso... |
Date: |
Wed, 04 Apr 2007 08:46:42 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 07/04/04 08:46:42
Modified files:
. : ChangeLog
server/asobj : xml.cpp xmlnode.cpp
Log message:
* server/asobj/xmlnode.cpp (stringify): stop feeding NULL
pointers to output operators !
* server/asobj/xml.cpp (xml_new): support a string as first
argument to constructor.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.2773&r2=1.2774
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/xml.cpp?cvsroot=gnash&r1=1.29&r2=1.30
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/xmlnode.cpp?cvsroot=gnash&r1=1.21&r2=1.22
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.2773
retrieving revision 1.2774
diff -u -b -r1.2773 -r1.2774
--- ChangeLog 4 Apr 2007 07:53:28 -0000 1.2773
+++ ChangeLog 4 Apr 2007 08:46:41 -0000 1.2774
@@ -1,5 +1,12 @@
2007-04-04 Sandro Santilli <address@hidden>
+ * server/asobj/xmlnode.cpp (stringify): stop feeding NULL
+ pointers to output operators !
+ * server/asobj/xml.cpp (xml_new): support a string as first
+ argument to constructor.
+
+2007-04-04 Sandro Santilli <address@hidden>
+
* server/asobj/xml.{cpp,h}: tu_string => std::string
* server/asobj/xmlsocket.cpp: provide a builtin onData
event handler to XMLSocket instances.
Index: server/asobj/xml.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/xml.cpp,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -b -r1.29 -r1.30
--- server/asobj/xml.cpp 4 Apr 2007 07:53:28 -0000 1.29
+++ server/asobj/xml.cpp 4 Apr 2007 08:46:42 -0000 1.30
@@ -14,7 +14,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-/* $Id: xml.cpp,v 1.29 2007/04/04 07:53:28 strk Exp $ */
+/* $Id: xml.cpp,v 1.30 2007/04/04 08:46:42 strk Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -106,9 +106,9 @@
_bytes_total(0)
{
GNASH_REPORT_FUNCTION;
-#ifdef DEBUG_MEMORY_ALLOCATION
+//#ifdef DEBUG_MEMORY_ALLOCATION
log_msg("Creating XML data at %p \n", this);
-#endif
+//#endif
parseXML(xml_in);
}
@@ -279,7 +279,7 @@
xmlNodePtr cur;
if (document == 0) {
- log_error("Can't load XML file!\n");
+ log_error("Can't load XML file!");
return false;
}
@@ -292,6 +292,8 @@
_children.push_back(child);
}
+ log_msg("parseDoc: %u childrens for XML %p after parsing",
_children.size(), (void*)this);
+
_loaded = true;
return true;
}
@@ -606,7 +608,9 @@
// log_msg("%s: nargs=%d\n", __FUNCTION__, fn.nargs);
- if (fn.nargs > 0 && fn.arg(0).is_object() )
+ if ( fn.nargs > 0 )
+ {
+ if ( fn.arg(0).is_object() )
{
boost::intrusive_ptr<as_object> obj = fn.env().top(0).to_object();
xml_obj = boost::dynamic_pointer_cast<XML>(obj);
@@ -617,6 +621,21 @@
}
}
+ std::string xml_in = fn.arg(0).to_std_string();
+ if ( xml_in.empty() )
+ {
+ IF_VERBOSE_ASCODING_ERRORS(
+ log_aserror("First arg given to XML constructor (%s) evaluates to
the empty string",
+ fn.arg(0).to_debug_string().c_str());
+ );
+ }
+ else
+ {
+ xml_obj = new XML(xml_in);
+ return as_value(xml_obj.get());
+ }
+ }
+
xml_obj = new XML;
//log_msg("\tCreated New XML object at %p\n", xml_obj);
Index: server/asobj/xmlnode.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/xmlnode.cpp,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- server/asobj/xmlnode.cpp 3 Apr 2007 13:22:24 -0000 1.21
+++ server/asobj/xmlnode.cpp 4 Apr 2007 08:46:42 -0000 1.22
@@ -14,7 +14,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-/* $Id: xmlnode.cpp,v 1.21 2007/04/03 13:22:24 strk Exp $ */
+/* $Id: xmlnode.cpp,v 1.22 2007/04/04 08:46:42 strk Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -336,12 +336,18 @@
XMLNode::stringify(const XMLNode& xml, std::ostream& xmlout)
{
// GNASH_REPORT_FUNCTION;
- const char *nodevalue = xml.nodeValue();
- const char *nodename = xml.nodeName();
+ const char* nodevalue = xml.nodeValue();
+ const char* nodename = xml.nodeName();
+
// log_msg("%s: processing for object %s <%p>\n", __PRETTY_FUNCTION__,
nodename, xml);
+ log_msg("Stringifying node %p with name %s, value %s, %u attributes and %u
childs",
+ (void*)&xml, nodename, nodevalue, xml._attributes.size(),
xml._children.size());
+
// Create the beginning of the tag
+ if (nodename)
+ {
xmlout << "<" << nodename;
// Process the attributes, if any
@@ -353,27 +359,27 @@
xmlout << " " << xa.name() << "=\"" << xa.value() << "\"";
}
- xmlout << ">"; // closing symbol for this tag
+ xmlout << ">";
+ }
- if (nodevalue) {
+ // Node value first, then childs
+ if ( nodevalue )
+ {
xmlout << nodevalue;
- xmlout << "</" << nodename << ">";
}
-// int length = xml->_children.size();
-// log_msg("\tProcessing %d children nodes for %s", length, nodename);
-
+ // Childs, after node value.
ChildList::const_iterator itx;
for (itx = xml._children.begin(); itx != xml._children.end(); itx++)
{
// log_msg("Found One XMLNode child !!!! %s <%p>\n",
(*itx)->nodeName(), (void*)*itx);
// cerr << "<" << (*it)->nodeName() << ">" << endl;
(*itx)->toString(xmlout);
- //x->toString(xmlout);
}
- if (!nodevalue)
+ if (nodename)
{
+ assert(nodename);
xmlout << "</" << nodename << ">";
}
@@ -566,12 +572,13 @@
static as_value
xmlnode_tostring(const fn_call& fn)
{
-// GNASH_REPORT_FUNCTION;
+ GNASH_REPORT_FUNCTION;
boost::intrusive_ptr<XMLNode> ptr = ensureType<XMLNode>(fn.this_ptr);
std::stringstream ss;
ptr->toString(ss);
+ log_msg("Stringstream: %s", ss.str().c_str());
return as_value(ss.str());
}
- [Gnash-commit] gnash ChangeLog server/asobj/xml.cpp server/aso..., Sandro Santilli, 2007/04/03
- [Gnash-commit] gnash ChangeLog server/asobj/xml.cpp server/aso..., Sandro Santilli, 2007/04/03
- [Gnash-commit] gnash ChangeLog server/asobj/xml.cpp server/aso..., Sandro Santilli, 2007/04/03
- [Gnash-commit] gnash ChangeLog server/asobj/xml.cpp server/aso..., Sandro Santilli, 2007/04/04
- [Gnash-commit] gnash ChangeLog server/asobj/xml.cpp server/aso...,
Sandro Santilli <=
- [Gnash-commit] gnash ChangeLog server/asobj/xml.cpp server/aso..., Sandro Santilli, 2007/04/04
- [Gnash-commit] gnash ChangeLog server/asobj/xml.cpp server/aso..., Sandro Santilli, 2007/04/04
- [Gnash-commit] gnash ChangeLog server/asobj/xml.cpp server/aso..., Sandro Santilli, 2007/04/04
- [Gnash-commit] gnash ChangeLog server/asobj/xml.cpp server/aso..., Sandro Santilli, 2007/04/07