[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog libamf/buffer.cpp libamf/buffer...
From: |
Rob Savoye |
Subject: |
[Gnash-commit] gnash ChangeLog libamf/buffer.cpp libamf/buffer... |
Date: |
Fri, 11 Apr 2008 21:04:34 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Rob Savoye <rsavoye> 08/04/11 21:04:34
Modified files:
. : ChangeLog
libamf : buffer.cpp buffer.h
testsuite/libamf.all: test_buffer.cpp
Log message:
* libamf/buffer.h: Check _seekptr, not nbytes to determine if a
buffer is ::empty().
* libamf/buffer.cpp: Fix bugs in ::remove() method.
* testsuite/libamf.all/buffer.cpp: Add tests for ::remove().
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6261&r2=1.6262
http://cvs.savannah.gnu.org/viewcvs/gnash/libamf/buffer.cpp?cvsroot=gnash&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/gnash/libamf/buffer.h?cvsroot=gnash&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/libamf.all/test_buffer.cpp?cvsroot=gnash&r1=1.2&r2=1.3
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6261
retrieving revision 1.6262
diff -u -b -r1.6261 -r1.6262
--- ChangeLog 11 Apr 2008 19:02:33 -0000 1.6261
+++ ChangeLog 11 Apr 2008 21:04:33 -0000 1.6262
@@ -1,5 +1,10 @@
2008-04-11 Rob Savoye <address@hidden>
+ * libamf/buffer.h: Check _seekptr, not nbytes to determine if a
+ buffer is ::empty().
+ * libamf/buffer.cpp: Fix bugs in ::remove() method.
+ * testsuite/libamf.all/buffer.cpp: Add tests for ::remove().
+
* libamf/buffer.{h,cpp}: Cleanup minor bugs found by newly
expanded test case. Rename empty() to clear().
* libamf/amf.cpp: Don't take 1 off the end of the string. Comment
Index: libamf/buffer.cpp
===================================================================
RCS file: /sources/gnash/gnash/libamf/buffer.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- libamf/buffer.cpp 11 Apr 2008 19:02:35 -0000 1.3
+++ libamf/buffer.cpp 11 Apr 2008 21:04:34 -0000 1.4
@@ -365,14 +365,16 @@
{
// GNASH_REPORT_FUNCTION;
Network::byte_t *start = find(c);
- log_debug("FRAME MARK is at %x", (void *)start);
+
+ log_debug("Byte is at %x", (void *)start);
+
if (start == 0) {
return 0;
}
-// std::copy((start + 1), end(), start);
- *start = '*';
-// *end() = 0;
-// _nbytes--;
+
+ std::copy(start + 1, end(), start);
+ *(end()) = 0;
+ _nbytes--;
return _ptr;
}
@@ -391,9 +393,9 @@
Buffer::remove(int start, int stop)
{
// GNASH_REPORT_FUNCTION;
- std::copy((_ptr + start), end(), (_ptr + stop)),
+ std::copy((_ptr + stop + 1), end(), (_ptr + start)),
// *end() = 0;
- _nbytes--;
+ _nbytes -= stop-start;
return _ptr;
}
Index: libamf/buffer.h
===================================================================
RCS file: /sources/gnash/gnash/libamf/buffer.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- libamf/buffer.h 11 Apr 2008 19:02:35 -0000 1.3
+++ libamf/buffer.h 11 Apr 2008 21:04:34 -0000 1.4
@@ -42,7 +42,7 @@
// Delete the allocate memory
~Buffer();
void clear();
- bool empty() { return (_nbytes)?true:false; };
+ bool empty() { return (_seekptr)?true:false; };
// Resize the buffer that holds the data
void *resize(size_t nbytes);
Index: testsuite/libamf.all/test_buffer.cpp
===================================================================
RCS file: /sources/gnash/gnash/testsuite/libamf.all/test_buffer.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- testsuite/libamf.all/test_buffer.cpp 11 Apr 2008 19:02:35 -0000
1.2
+++ testsuite/libamf.all/test_buffer.cpp 11 Apr 2008 21:04:34 -0000
1.3
@@ -151,8 +151,6 @@
mem->addStats(__LINE__); // take a sample
}
-// amf::Buffer::empty()
-
// test creating Buffers
test_construct();
// test destroying Buffers
@@ -335,9 +333,55 @@
void
test_remove()
{
-// amf::Buffer::remove(unsigned char)
-// amf::Buffer::remove(int)
-// amf::Buffer::remove(int, int)
+ Network::byte_t *data1 = new Network::byte_t[10];
+ memset(data1, 0, 10);
+ Network::byte_t *data2 = new Network::byte_t[10];
+ memset(data2, 0, 10);
+ for (size_t i=0; i< 10; i++) {
+ data1[i] = i + 'a';
+ }
+
+ // Build identical buffer nissing one character
+ memcpy(data2, data1, 6);
+ memcpy(data2 + 6, data1 + 7, 5);
+
+ // Remove a single byte
+ Network::byte_t byte = 'g';
+ Buffer buf1(10);
+ buf1.clear();
+ buf1.copy(data1, 10);
+ buf1.remove(byte);
+ if (memcmp(data2, buf1.reference(), 9) == 0) {
+ runtest.pass ("Buffer::remove(Network::byte_t)");
+ } else {
+ runtest.fail ("Buffer::remove(Network::byte_t)");
+ }
+
+ Buffer buf2(10);
+ buf2.clear();
+ buf2.copy(data1, 10);
+ buf2.remove(6);
+ if (memcmp(data2, buf2.reference(), 9) == 0) {
+ runtest.pass ("Buffer::remove(int)");
+ } else {
+ runtest.fail ("Buffer::remove(int)");
+ }
+
+ // Remove a range of bytes
+ Network::byte_t *data3 = new Network::byte_t[10];
+ memset(data3, 0, 10);
+ memcpy(data3, data1, 6);
+ memcpy(data3 + 6, data1 + 9, 5);
+
+ Buffer buf3(10);
+ buf3.clear();
+ buf3.copy(data1, 10);
+ buf3.remove(6, 8);
+ if (memcmp(data3, buf3.reference(), 7) == 0) {
+ runtest.pass ("Buffer::remove(int, int)");
+ } else {
+ runtest.fail ("Buffer::remove(int, int)");
+ }
}
void
- [Gnash-commit] gnash ChangeLog libamf/buffer.cpp libamf/buffer...,
Rob Savoye <=