gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog libbase/tu_file.cpp libbase/tu_...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog libbase/tu_file.cpp libbase/tu_...
Date: Mon, 14 May 2007 21:39:49 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  07/05/14 21:39:49

Modified files:
        .              : ChangeLog 
        libbase        : tu_file.cpp tu_file.h 
        server         : stream.cpp 

Log message:
                * libbase/tu_file.{cpp,h}: changed set_position signature to 
return
                  an int (0 for success TU_FILE_SEEK_ERROR on error).
                * server/stream.cpp (end_tag): check return from
                  tu_file::set_position().

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.3212&r2=1.3213
http://cvs.savannah.gnu.org/viewcvs/gnash/libbase/tu_file.cpp?cvsroot=gnash&r1=1.17&r2=1.18
http://cvs.savannah.gnu.org/viewcvs/gnash/libbase/tu_file.h?cvsroot=gnash&r1=1.15&r2=1.16
http://cvs.savannah.gnu.org/viewcvs/gnash/server/stream.cpp?cvsroot=gnash&r1=1.18&r2=1.19

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.3212
retrieving revision 1.3213
diff -u -b -r1.3212 -r1.3213
--- ChangeLog   14 May 2007 21:14:37 -0000      1.3212
+++ ChangeLog   14 May 2007 21:39:48 -0000      1.3213
@@ -1,5 +1,12 @@
 2007-05-14 Sandro Santilli <address@hidden>
 
+       * libbase/tu_file.{cpp,h}: changed set_position signature to return
+         an int (0 for success TU_FILE_SEEK_ERROR on error).
+       * server/stream.cpp (end_tag): check return from
+         tu_file::set_position().
+
+2007-05-14 Sandro Santilli <address@hidden>
+
        * testsuite/misc-ming.all/: Makefile.am, NetStream-Square.c,
          NetStream-SquareTest.c, Video-EmbedSquare.c,
          Video-EmbedSquareTest.c: Renamed video tests to conform

Index: libbase/tu_file.cpp
===================================================================
RCS file: /sources/gnash/gnash/libbase/tu_file.cpp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- libbase/tu_file.cpp 12 May 2007 07:02:29 -0000      1.17
+++ libbase/tu_file.cpp 14 May 2007 21:39:48 -0000      1.18
@@ -56,12 +56,14 @@
 
 static int
 std_seek_func(int pos, void *appdata)
-// Return 0 on success, or TU_FILE_SEEK_ERROR on failure.
 {
     assert(appdata);
 
-    // TODO: I guess we don't want to allow seeking after stream size, do we ?
-    assert(pos <= std_get_stream_size_func(appdata));
+    // TODO: optimize this by caching total stream size ?
+    if (pos > std_get_stream_size_func(appdata))
+    {
+           return TU_FILE_SEEK_ERROR;
+    }
 
     clearerr((FILE*) appdata); // make sure EOF flag is cleared.
     int        result = fseek((FILE*)appdata, pos, SEEK_SET);

Index: libbase/tu_file.h
===================================================================
RCS file: /sources/gnash/gnash/libbase/tu_file.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- libbase/tu_file.h   18 Apr 2007 21:56:55 -0000      1.15
+++ libbase/tu_file.h   14 May 2007 21:39:48 -0000      1.16
@@ -226,7 +226,9 @@
     /// TODO: define what happens when an error occurs, or
     ///       when we're already in an error condition
     ///
-    void       set_position(int p) { m_seek(p, m_data); }
+    /// @return 0 on success, or TU_FILE_SEEK_ERROR on failure.
+    ///
+    int        set_position(int p) { return m_seek(p, m_data); }
 
     /// \brief Seek to the end of the stream
     //

Index: server/stream.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/stream.cpp,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- server/stream.cpp   13 May 2007 12:19:05 -0000      1.18
+++ server/stream.cpp   14 May 2007 21:39:48 -0000      1.19
@@ -248,7 +248,13 @@
                }
 
                // Do the seek.
-               m_input->set_position(pos);
+               if ( m_input->set_position(pos) == TU_FILE_SEEK_ERROR )
+               {
+                       // TODO: should we throw an exception ?
+                       //       we might be called from an exception handler
+                       //       so throwing here might be a double throw...
+                       log_swferror(_("Unexpected end of stream"));
+               }
        }
 
 




reply via email to

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