[vala/staging: 2/2] glib-2.0: Map given end == 0 for string.slice/splice() to string.length
- From: Rico Tzschichholz <ricotz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala/staging: 2/2] glib-2.0: Map given end == 0 for string.slice/splice() to string.length
- Date: Sat, 23 May 2020 07:17:58 +0000 (UTC)
commit f844ad1c02fb5b17e923a7ba4e69cf2a7df96a14
Author: wb9688 <36312-wb9688 users noreply gitlab gnome org>
Date: Thu May 21 10:52:01 2020 +0200
glib-2.0: Map given end == 0 for string.slice/splice() to string.length
Fixes https://gitlab.gnome.org/GNOME/vala/issues/179
tests/basic-types/strings.vala | 12 ++++++++++++
vapi/glib-2.0.vapi | 4 ++++
2 files changed, 16 insertions(+)
---
diff --git a/tests/basic-types/strings.vala b/tests/basic-types/strings.vala
index a4fcda4f7..7ae03ef97 100644
--- a/tests/basic-types/strings.vala
+++ b/tests/basic-types/strings.vala
@@ -70,6 +70,12 @@ void test_string_slice () {
r = s.slice (-7, -5);
assert (r == "my");
+
+ r = s.slice (-7, 0);
+ assert (r == "myworld");
+
+ r = s.slice (5, 0);
+ assert (r == "myworld");
}
void test_string_splice () {
@@ -89,6 +95,12 @@ void test_string_splice () {
s = s.splice (-14, -5);
assert (s == "helloworld");
+
+ s = s.splice (-5, 0, "wide");
+ assert (s == "hellowide");
+
+ s = s.splice (5, 0, "world");
+ assert (s == "helloworld");
}
void test_string_substring () {
diff --git a/vapi/glib-2.0.vapi b/vapi/glib-2.0.vapi
index c3df0f7ec..4da3873b6 100644
--- a/vapi/glib-2.0.vapi
+++ b/vapi/glib-2.0.vapi
@@ -1484,6 +1484,8 @@ public class string {
}
if (end < 0) {
end = string_length + end;
+ } else if (end == 0) {
+ end = string_length;
}
GLib.return_val_if_fail (start >= 0 && start <= string_length, null);
GLib.return_val_if_fail (end >= 0 && end <= string_length, null);
@@ -1498,6 +1500,8 @@ public class string {
}
if (end < 0) {
end = string_length + end;
+ } else if (end == 0) {
+ end = string_length;
}
GLib.return_val_if_fail (start >= 0 && start <= string_length, null);
GLib.return_val_if_fail (end >= 0 && end <= string_length, null);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]