gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog server/asobj/string.cpp testsui...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/asobj/string.cpp testsui...
Date: Wed, 24 Oct 2007 23:26:24 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  07/10/24 23:26:24

Modified files:
        .              : ChangeLog 
        server/asobj   : string.cpp 
        testsuite/swfdec: PASSING 

Log message:
                * server/asobj/string.cpp (string_sub_str): fix corner cases
                  exposed by swfdec's substr tests.
                * testsuite/swfdec/PASSING: succeed in substr tests.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4697&r2=1.4698
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/string.cpp?cvsroot=gnash&r1=1.39&r2=1.40
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/swfdec/PASSING?cvsroot=gnash&r1=1.45&r2=1.46

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.4697
retrieving revision 1.4698
diff -u -b -r1.4697 -r1.4698
--- ChangeLog   24 Oct 2007 22:43:22 -0000      1.4697
+++ ChangeLog   24 Oct 2007 23:26:23 -0000      1.4698
@@ -1,5 +1,11 @@
 2007-10-24 Sandro Santilli <address@hidden>
 
+       * server/asobj/string.cpp (string_sub_str): fix corner cases
+         exposed by swfdec's substr tests.
+       * testsuite/swfdec/PASSING: succeed in substr tests.
+
+2007-10-24 Sandro Santilli <address@hidden>
+
        * server/PropertyList.cpp: addProperty can always override
          pre-existing properties, and inherits flags in that case.
        * testsuite/swfdec/PASSING: addProperty-flags succeeds.

Index: server/asobj/string.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/string.cpp,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -b -r1.39 -r1.40
--- server/asobj/string.cpp     6 Oct 2007 08:17:48 -0000       1.39
+++ server/asobj/string.cpp     24 Oct 2007 23:26:24 -0000      1.40
@@ -16,7 +16,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: string.cpp,v 1.39 2007/10/06 08:17:48 strk Exp $ */
+/* $Id: string.cpp,v 1.40 2007/10/24 23:26:24 strk Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -342,12 +342,24 @@
 
     ENSURE_FN_ARGS(1, 2, str);
 
-    int start = valid_index(str, fn.arg(0).to_number<int>());
+    as_environment& env = fn.env();
+
+    int start = valid_index(str, fn.arg(0).to_int(env));
 
     int num = str.size();
 
-    if (fn.nargs >= 2) {
-        num = fn.arg(1).to_number<int>();
+    if (fn.nargs >= 2)
+    {
+        num = fn.arg(1).to_int(env);
+       if ( num < 0 )
+       {
+               if ( -num <= start ) num = 0;
+               else
+               {
+                       num = str.size()+num;
+                       if ( num < 0 ) return as_value("");
+               }
+       }
     }
 
     return as_value(str.substr(start, num));

Index: testsuite/swfdec/PASSING
===================================================================
RCS file: /sources/gnash/gnash/testsuite/swfdec/PASSING,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -b -r1.45 -r1.46
--- testsuite/swfdec/PASSING    24 Oct 2007 22:43:23 -0000      1.45
+++ testsuite/swfdec/PASSING    24 Oct 2007 23:26:24 -0000      1.46
@@ -396,6 +396,9 @@
 stylesheet-load-6.swf:e3b34170df069108049f1381e93572c6
 stylesheet-parse-5.swf:f77505087f69427b13c91f30a9c103ad
 stylesheet-parse-6.swf:0c070dfd772d1b7280ac53b711dcbb1c
+substr-5.swf:cf154038f95d1d654f2d162f16c60a5b
+substr-6.swf:d16644cf5ac2775cceb46f19c8663fcd
+substr-7.swf:5fd2eea885c31f6b5bd881addc0f11ba
 super-calls-5.swf:b68c3168ff4881a0cd780f6d4cb21950
 super-different-5.swf:8ab7ab25c38807751e3fb7e8bce42217
 super-equals-this-5.swf:8a903f417fdaa5a9b010f757fa6c0a45




reply via email to

[Prev in Thread] Current Thread [Next in Thread]