aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichał Łyszczek <michal.lyszczek@bofc.pl>2018-02-02 22:05:27 +0100
committerMichał Łyszczek <michal.lyszczek@bofc.pl>2018-02-02 22:05:27 +0100
commit46727bea4d5c5196e132f21b17e3d80530a32ec8 (patch)
treeec73400ff34439de0e570b6363ed3079b14ba915
parentf5cf69d94ce594be2796f75bada6def7993c9d41 (diff)
downloadlibrb-46727bea4d5c5196e132f21b17e3d80530a32ec8.tar.gz
librb-46727bea4d5c5196e132f21b17e3d80530a32ec8.tar.bz2
librb-46727bea4d5c5196e132f21b17e3d80530a32ec8.zip
fix: rb_discard return wrong value
-rw-r--r--rb/rb.c1
-rw-r--r--rb/tests.c13
2 files changed, 9 insertions, 5 deletions
diff --git a/rb/rb.c b/rb/rb.c
index 34e7c94..c407f50 100644
--- a/rb/rb.c
+++ b/rb/rb.c
@@ -1039,6 +1039,7 @@ size_t rb_discard
}
#endif
+ return count;
}
diff --git a/rb/tests.c b/rb/tests.c
index 2241f53..067581d 100644
--- a/rb/tests.c
+++ b/rb/tests.c
@@ -483,14 +483,14 @@ static void discard(void)
#endif
rb = rb_new(8, 1, 0);
rb_write(rb, s, 6);
- rb_discard(rb, 3);
+ mt_fail(rb_discard(rb, 3) == 3);
rb_read(rb, d, 3);
mt_fok(memcmp(d, "345", 3));
rb_clear(rb, 0);
rb_write(rb, s, 6);
rb_read(rb, d, 2);
- rb_discard(rb, 2);
+ mt_fail(rb_discard(rb, 2) == 2);
rb_read(rb, d, 2);
mt_fok(memcmp(d, "45", 2));
rb_clear(rb, 0);
@@ -499,7 +499,7 @@ static void discard(void)
rb_write(rb, s, 7);
rb_read(rb, d, 5);
rb_write(rb, s, 5);
- rb_discard(rb, 3);
+ mt_fail(rb_discard(rb, 3) == 3);
rb_read(rb, d, 3);
mt_fok(memcmp(d, "123", 3));
rb_clear(rb, 0);
@@ -507,7 +507,7 @@ static void discard(void)
rb_write(rb, s, 7);
rb_read(rb, d, 5);
rb_write(rb, s, 5);
- rb_discard(rb, 2);
+ mt_fail(rb_discard(rb, 2) == 2);
rb_read(rb, d, 3);
mt_fok(memcmp(d, "012", 3));
rb_clear(rb, 0);
@@ -515,11 +515,14 @@ static void discard(void)
rb_write(rb, s, 7);
rb_read(rb, d, 5);
rb_write(rb, s, 5);
- rb_discard(rb, 4);
+ mt_fail(rb_discard(rb, 4) == 4);
rb_read(rb, d, 3);
mt_fok(memcmp(d, "234", 3));
rb_clear(rb, 0);
+ rb_write(rb, s, 3);
+ mt_fail(rb_discard(rb, 10) == 3);
+
rb_destroy(rb);
}
}