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


From: Benjamin Wolsey
Subject: [Gnash-commit] gnash ChangeLog server/asobj/string.cpp
Date: Fri, 07 Mar 2008 19:33:41 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Benjamin Wolsey <bwy>   08/03/07 19:33:40

Modified files:
        .              : ChangeLog 
        server/asobj   : string.cpp 

Log message:
                * server/asobj/string.cpp: a negative number passed as second
                  argument to lastIndexOf always returns -1. More swfdec
                  testsuite passes.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5844&r2=1.5845
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/string.cpp?cvsroot=gnash&r1=1.57&r2=1.58

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5844
retrieving revision 1.5845
diff -u -b -r1.5844 -r1.5845
--- ChangeLog   7 Mar 2008 19:03:53 -0000       1.5844
+++ ChangeLog   7 Mar 2008 19:33:40 -0000       1.5845
@@ -1,3 +1,9 @@
+2008-03-07 Benjamin Wolsey <address@hidden>
+
+       * server/asobj/string.cpp: a negative number passed as second
+         argument to lastIndexOf always returns -1. More swfdec
+         testsuite passes.
+
 2008-03-07 Sandro Santilli <address@hidden>
 
        * testsuite/misc-mtasc.all/function_test.as: add a couple

Index: server/asobj/string.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/string.cpp,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -b -r1.57 -r1.58
--- server/asobj/string.cpp     7 Mar 2008 16:17:54 -0000       1.57
+++ server/asobj/string.cpp     7 Mar 2008 19:33:40 -0000       1.58
@@ -323,7 +323,6 @@
         return as_value(array.get());
     }
 
-
     if ( delim.empty() ) {
         for (unsigned i=0; i <max; i++) {
             val.set_std_string(utf8::encodeCanonicalString(wstr.substr(i, 1), 
version));
@@ -333,7 +332,6 @@
         return as_value(array.get());
     }
 
-
     size_t pos = 0, prevpos = 0;
     size_t num = 0;
 
@@ -371,10 +369,14 @@
 
     const std::string& toFind = fn.arg(0).to_string();
 
-    size_t start = str.size();
+    int start = str.size();
 
     if (fn.nargs >= 2) {
-        start = fn.arg(1).to_number<size_t>();
+        start = fn.arg(1).to_number<int>();
+    }
+    
+    if (start < 0) {
+        return as_value(-1);
     }
 
     size_t found = str.find_last_of(toFind, start);
@@ -383,7 +385,7 @@
         return as_value(-1);
     }
 
-    return as_value(found-toFind.size()+1);
+    return as_value(found - toFind.size() + 1);
 }
 
 // 1st param: start_index, 2nd param: length (NOT end_index)




reply via email to

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