]> andersk Git - splint.git/blobdiff - src/multiVal.c
Forgot to commit multiVal.c
[splint.git] / src / multiVal.c
index 5659aafa72b565e2bc45ffa25887c36bba0f654c..ef454c05d71ab732fc61adcdf5f7b06f5bf26cb1 100644 (file)
@@ -351,9 +351,33 @@ multiVal multiVal_divide (multiVal m1, multiVal m2)
 
   switch (m1->kind)
     {
-    case MVLONG:   return (multiVal_makeInt (m1->value.ival / m2->value.ival));
-    case MVCHAR:   return (multiVal_makeChar ((char) (m1->value.cval / m2->value.cval)));
-    case MVDOUBLE: return (multiVal_makeDouble (m1->value.fval / m2->value.fval));
+    case MVLONG: 
+      if (m2->value.ival != 0)
+       {
+         return (multiVal_makeInt (m1->value.ival / m2->value.ival));
+       }
+      else
+       {
+         return multiVal_undefined;
+       }
+    case MVCHAR:   
+      if (m2->value.cval != 0)
+       {
+         return (multiVal_makeChar ((char) (m1->value.cval / m2->value.cval)));
+       }
+      else
+       {
+         return multiVal_undefined;
+       }
+    case MVDOUBLE:
+      if (m2->value.fval != 0.0)
+       {
+         return (multiVal_makeDouble (m1->value.fval / m2->value.fval));
+       }
+      else
+       {
+         return multiVal_undefined;
+       }
     case MVSTRING: return multiVal_undefined;
     }
 
This page took 0.028205 seconds and 4 git commands to generate.