summaryrefslogtreecommitdiff
path: root/src/fltk-asks.adb
diff options
context:
space:
mode:
authorJedidiah Barber <contact@jedbarber.id.au>2025-01-09 23:53:32 +1300
committerJedidiah Barber <contact@jedbarber.id.au>2025-01-09 23:53:32 +1300
commit53aa8144851913994b963ed611cca8885b8f9a9e (patch)
tree1b2a262cedb353b4aff00e14b200918ac17b11ab /src/fltk-asks.adb
parent17473af7e8ed13e0a9399a69442f9839e5d83aef (diff)
Internal_FLTK_Error raises are now pragma Asserts
Diffstat (limited to 'src/fltk-asks.adb')
-rw-r--r--src/fltk-asks.adb47
1 files changed, 26 insertions, 21 deletions
diff --git a/src/fltk-asks.adb b/src/fltk-asks.adb
index eba4dbb..bd09fac 100644
--- a/src/fltk-asks.adb
+++ b/src/fltk-asks.adb
@@ -6,6 +6,7 @@
with
+ Ada.Assertions,
Interfaces.C.Strings;
use type
@@ -17,6 +18,11 @@ use type
package body FLTK.Asks is
+ package Chk renames Ada.Assertions;
+
+
+
+
------------------------
-- Functions From C --
------------------------
@@ -393,11 +399,10 @@ package body FLTK.Asks is
Interfaces.C.Strings.Null_Ptr,
Interfaces.C.Strings.Null_Ptr);
begin
- case Result is
- when -3 .. -1 => return Extended_Choice_Result'Val (Result + 6);
- when 0 .. 2 => return Extended_Choice_Result'Val (Result);
- when others => raise Internal_FLTK_Error;
- end case;
+ pragma Assert (Result in -3 .. 2);
+ return Extended_Choice_Result'Val (Result mod 6);
+ exception
+ when Chk.Assertion_Error => raise Internal_FLTK_Error;
end Extended_Choice;
@@ -412,11 +417,10 @@ package body FLTK.Asks is
Interfaces.C.Strings.To_Chars_Ptr (Str2'Unchecked_Access),
Interfaces.C.Strings.Null_Ptr);
begin
- case Result is
- when -3 .. -1 => return Extended_Choice_Result'Val (Result + 6);
- when 0 .. 2 => return Extended_Choice_Result'Val (Result);
- when others => raise Internal_FLTK_Error;
- end case;
+ pragma Assert (Result in -3 .. 2);
+ return Extended_Choice_Result'Val (Result mod 6);
+ exception
+ when Chk.Assertion_Error => raise Internal_FLTK_Error;
end Extended_Choice;
@@ -432,11 +436,10 @@ package body FLTK.Asks is
Interfaces.C.Strings.To_Chars_Ptr (Str2'Unchecked_Access),
Interfaces.C.Strings.To_Chars_Ptr (Str3'Unchecked_Access));
begin
- case Result is
- when -3 .. -1 => return Extended_Choice_Result'Val (Result + 6);
- when 0 .. 2 => return Extended_Choice_Result'Val (Result);
- when others => raise Internal_FLTK_Error;
- end case;
+ pragma Assert (Result in -3 .. 2);
+ return Extended_Choice_Result'Val (Result mod 6);
+ exception
+ when Chk.Assertion_Error => raise Internal_FLTK_Error;
end Extended_Choice;
@@ -504,11 +507,12 @@ package body FLTK.Asks is
G := RGB_Float (C_G);
B := RGB_Float (C_B);
return Confirm;
- elsif Result = 0 then
- return Cancel;
else
- raise Internal_FLTK_Error;
+ pragma Assert (Result = 0);
+ return Cancel;
end if;
+ exception
+ when Chk.Assertion_Error => raise Internal_FLTK_Error;
end Color_Chooser;
@@ -531,11 +535,12 @@ package body FLTK.Asks is
G := RGB_Int (C_G);
B := RGB_Int (C_B);
return Confirm;
- elsif Result = 0 then
- return Cancel;
else
- raise Internal_FLTK_Error;
+ pragma Assert (Result = 0);
+ return Cancel;
end if;
+ exception
+ when Chk.Assertion_Error => raise Internal_FLTK_Error;
end Color_Chooser;