فهرست منبع

Fix off by one error in position quert, and crashes when using double enumerables

Billy Barrow 10 ماه پیش
والد
کامیت
c82901f15b
2فایلهای تغییر یافته به همراه5 افزوده شده و 5 حذف شده
  1. 1 1
      src/lib/Queries/Position.vala
  2. 4 4
      src/lib/Safety.vala

+ 1 - 1
src/lib/Queries/Position.vala

@@ -23,7 +23,7 @@ namespace Invercargill {
                 return base_tracker.has_next();
             }
             public override PositionItemPair<T> get_next() {
-                return new PositionItemPair<T>(position++, base_tracker.get_next());
+                return new PositionItemPair<T>(++position, base_tracker.get_next());
             }
             
         }

+ 4 - 4
src/lib/Safety.vala

@@ -112,10 +112,10 @@ namespace Invercargill {
     internal ulong safely_read_ulong_from_array(ulong[] array, int index) {
         return ((ulong[])array)[index];
     }
-    internal float safely_read_float_from_array(float[] array, int index) {
+    internal float safely_read_float_from_array(float?[] array, int index) {
         return ((float?[])array)[index];
     }
-    internal double safely_read_double_from_array(double[] array, int index) {
+    internal double? safely_read_double_from_array(double?[] array, int index) {
         return ((double?[])array)[index];
     }
 
@@ -146,10 +146,10 @@ namespace Invercargill {
     internal void safely_assign_ulong_to_array(ulong[] array, int index, ulong value) {
         ((ulong[])array)[index] = (ulong)value;
     }
-    internal void safely_assign_float_to_array(float[] array, int index, float value) {
+    internal void safely_assign_float_to_array(float?[] array, int index, float? value) {
         ((float?[])array)[index] = (float?)value;
     }
-    internal void safely_assign_double_to_array(double[] array, int index, double value) {
+    internal void safely_assign_double_to_array(double?[] array, int index, double? value) {
         ((double?[])array)[index] = (double?)value;
     }