gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog server/vm/ASHandlers.cpp


From: Benjamin Wolsey
Subject: [Gnash-commit] gnash ChangeLog server/vm/ASHandlers.cpp
Date: Mon, 17 Mar 2008 14:03:14 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Benjamin Wolsey <bwy>   08/03/17 14:03:14

Modified files:
        .              : ChangeLog 
        server/vm      : ASHandlers.cpp 

Log message:
                * server/vm/ASHandlers.cpp: don't try to access an element of an
                  empty string; use string.at(), which would throw an exception 
if
                  we try to do so.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5945&r2=1.5946
http://cvs.savannah.gnu.org/viewcvs/gnash/server/vm/ASHandlers.cpp?cvsroot=gnash&r1=1.216&r2=1.217

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5945
retrieving revision 1.5946
diff -u -b -r1.5945 -r1.5946
--- ChangeLog   17 Mar 2008 12:04:45 -0000      1.5945
+++ ChangeLog   17 Mar 2008 14:03:13 -0000      1.5946
@@ -1,5 +1,11 @@
 2008-03-17 Benjamin Wolsey <address@hidden>
 
+       * server/vm/ASHandlers.cpp: don't try to access an element of an
+         empty string; use string.at(), which would throw an exception if
+         we try to do so.
+
+2008-03-17 Benjamin Wolsey <address@hidden>
+
        * server/asobj/string.cpp: fix fromCharCode for SWF6+, sort
          of fix it for SWF5. This would get more passes in the swfdec
          testsuite if swfdec_gnash_tester could catch newlines in

Index: server/vm/ASHandlers.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/vm/ASHandlers.cpp,v
retrieving revision 1.216
retrieving revision 1.217
diff -u -b -r1.216 -r1.217
--- server/vm/ASHandlers.cpp    17 Mar 2008 08:06:48 -0000      1.216
+++ server/vm/ASHandlers.cpp    17 Mar 2008 14:03:13 -0000      1.217
@@ -1662,11 +1662,19 @@
 
     int version = env.get_version();
 
-    const std::wstring& wstr = 
utf8::decodeCanonicalString(env.top(0).to_string(), version);
+    const std::string& str = env.top(0).to_string();
+    
+    if (str.empty())
+    {
+        env.top(0).set_int(0);
+        return;
+    }
+
+    const std::wstring& wstr = utf8::decodeCanonicalString(str, version);
 
     // decodeCanonicalString should correctly work out what the first character
     // is according to version.
-    env.top(0).set_int(wstr[0]);
+    env.top(0).set_int(wstr.at(0));
 }
 
 void




reply via email to

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