From 47e1818e5bb4a5305d28e00a98c70525e5fb0a4b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?=
 <grubba@grubba.org>
Date: Tue, 19 Feb 2013 16:29:05 +0100
Subject: [PATCH] Runtime: Cleanup of low_check_soft_cast().

---
 src/operators.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/src/operators.c b/src/operators.c
index 9cc006bd9d..f343923b80 100644
--- a/src/operators.c
+++ b/src/operators.c
@@ -980,7 +980,8 @@ int low_check_soft_cast(struct svalue *s, struct pike_type *type)
   }
   if ((TYPEOF(*s) == PIKE_T_INT) && !s->u.integer) return 1;
   if (TYPEOF(*s) == type->type) {
-    if (type->type == PIKE_T_INT) {
+    switch(type->type) {
+    case PIKE_T_INT:
       if (((((INT32)CAR_TO_INT(type)) != MIN_INT32) &&
 	   (s->u.integer < (INT32)CAR_TO_INT(type))) ||
 	  ((((INT32)CDR_TO_INT(type)) != MAX_INT32) &&
@@ -988,15 +989,13 @@ int low_check_soft_cast(struct svalue *s, struct pike_type *type)
 	return 0;
       }
       return 1;
-    }
-    if (type->type == PIKE_T_FLOAT) return 1;
-    if (type->type == PIKE_T_STRING) {
+    case PIKE_T_FLOAT:
+      return 1;
+    case PIKE_T_STRING:
       if ((8<<s->u.string->size_shift) > CAR_TO_INT(type)) {
 	return 0;
       }
       return 1;
-    }
-    switch(type->type) {
     case PIKE_T_OBJECT:
       {
 	struct program *p;
-- 
GitLab