[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/asobj/xmlnode.cpp server...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/asobj/xmlnode.cpp server... |
Date: |
Thu, 18 Jan 2007 14:23:17 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 07/01/18 14:23:17
Modified files:
. : ChangeLog
server/asobj : xmlnode.cpp xmlnode.h
testsuite/actionscript.all: XMLNode.as
Log message:
* server/asobj/xmlnode.{cpp,h}: (nodeValueSet): always replace
previous value. (xmlnode_nodevalue, xmlnode_nodename): act
both as a setter and a getter.
* testsuite/actionscript.all/XMLNode.as: another unexpected
success.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.2131&r2=1.2132
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/xmlnode.cpp?cvsroot=gnash&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/xmlnode.h?cvsroot=gnash&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/XMLNode.as?cvsroot=gnash&r1=1.6&r2=1.7
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.2131
retrieving revision 1.2132
diff -u -b -r1.2131 -r1.2132
--- ChangeLog 18 Jan 2007 13:43:06 -0000 1.2131
+++ ChangeLog 18 Jan 2007 14:23:17 -0000 1.2132
@@ -1,5 +1,12 @@
2007-01-18 Sandro Santilli <address@hidden>
+ * server/asobj/xmlnode.{cpp,h}: (nodeValueSet): always replace
+ previous value. (xmlnode_nodevalue, xmlnode_nodename): act
+ both as a setter and a getter.
+ * testsuite/actionscript.all/XMLNode.as: another unexpected success.
+
+2007-01-18 Sandro Santilli <address@hidden>
+
* server/asobj/: Global.cpp, xml.cpp, xmlnode.{cpp,h}:
Port XMLNode class to current correct architecture.
* testsuite/actionscript.all/XML.as: unexpected pass ;)
Index: server/asobj/xmlnode.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/xmlnode.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- server/asobj/xmlnode.cpp 18 Jan 2007 13:43:06 -0000 1.3
+++ server/asobj/xmlnode.cpp 18 Jan 2007 14:23:17 -0000 1.4
@@ -18,7 +18,7 @@
//
//
-/* $Id: xmlnode.cpp,v 1.3 2007/01/18 13:43:06 strk Exp $ */
+/* $Id: xmlnode.cpp,v 1.4 2007/01/18 14:23:17 strk Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -60,7 +60,6 @@
static void xmlnode_insertbefore(const fn_call& fn);
static void xmlnode_removenode(const fn_call& fn);
static void xmlnode_tostring(const fn_call& fn);
-static void do_nothing(const fn_call& fn);
static void xmlnode_nodevalue(const fn_call& fn);
static void xmlnode_nodename(const fn_call& fn);
@@ -131,12 +130,11 @@
{
int len = strlen(value) + 1;
- if (!_value) {
- //_value = (char *)new char[len];
+ // Should we use std::string here ?
+ delete [] _value;
_value = new char[len];
memset(_value, 0, len);
strcpy(_value, value);
- }
}
/// \brief Get the type of an XML Node.
@@ -382,6 +380,15 @@
xml_obj = new xmlnode_as_object;
+ if ( fn.nargs > 0 )
+ {
+
xml_obj->obj.nodeTypeSet(static_cast<xmlElementType>(fn.arg(0).to_number()));
+ if ( fn.nargs > 1 )
+ {
+ xml_obj->obj.nodeValueSet(fn.arg(1).to_string());
+ }
+ }
+
fn.result->set_as_object(xml_obj);
}
@@ -471,22 +478,18 @@
fn.result->set_bool(ptr->obj.hasChildNodes());
}
-static void
-do_nothing(const fn_call& fn)
-{
- log_msg("Doing nothing");
-}
-
// Both a getter and a setter for nodeValue
static void
xmlnode_nodevalue(const fn_call& fn)
{
- GNASH_REPORT_FUNCTION;
+ //GNASH_REPORT_FUNCTION;
assert(dynamic_cast<xmlnode_as_object*>(fn.this_ptr));
xmlnode_as_object *ptr = static_cast<xmlnode_as_object*>(fn.this_ptr);
+ //log_msg("xmlnode_nodevalue called with %d args against 'this' = %p",
fn.nargs, ptr);
if ( fn.nargs == 0 ) {
+ //log_msg(" nodeValue() returns '%s'", ptr->obj.nodeValue());
const char* val = ptr->obj.nodeValue();
if ( val ) {
fn.result->set_string(val);
@@ -494,6 +497,7 @@
fn.result->set_null();
}
} else {
+ //log_msg(" arg(0) == '%s'", fn.arg(0).to_string());
ptr->obj.nodeValueSet(fn.arg(0).to_string());
}
}
Index: server/asobj/xmlnode.h
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/xmlnode.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- server/asobj/xmlnode.h 18 Jan 2007 13:43:06 -0000 1.3
+++ server/asobj/xmlnode.h 18 Jan 2007 14:23:17 -0000 1.4
@@ -55,10 +55,19 @@
const char *nodeName();
const char *nodeValue();
int nodeType();
+ void nodeTypeSet(xmlElementType type) {
+ _type = type;
+ }
// char *valueGet();
+ /// Set name of this node, but only if it doesn't have a name yet
+ //
+ /// TODO: check if this is the correct behaviour
+ ///
void nodeNameSet(const char *name);
+
+ /// Set value of this node, overriding any previous value
void nodeValueSet(const char *value);
// nodeType XML.nodeType
Index: testsuite/actionscript.all/XMLNode.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/XMLNode.as,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- testsuite/actionscript.all/XMLNode.as 27 Nov 2006 09:17:28 -0000
1.6
+++ testsuite/actionscript.all/XMLNode.as 18 Jan 2007 14:23:17 -0000
1.7
@@ -22,7 +22,7 @@
// compile this test case with Ming makeswf, and then
// execute it like this gnash -1 -r 0 -v out.swf
-rcsid="$Id: XMLNode.as,v 1.6 2006/11/27 09:17:28 strk Exp $";
+rcsid="$Id: XMLNode.as,v 1.7 2007/01/18 14:23:17 strk Exp $";
#include "dejagnu.as"
@@ -48,7 +48,7 @@
textnode.nodeName = "foo";
check_equals(textnode.nodeName, "foo");
-xcheck_equals (textnode.nodeValue, "text content");
+check_equals (textnode.nodeValue, "text content");
textnode.nodeValue = "bar";
check_equals (textnode.nodeValue, "bar");
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog server/asobj/xmlnode.cpp server...,
Sandro Santilli <=