Fix for dpkg-deb, courtesy of Larry Doolittle.
[oweals/busybox.git] / dc.c
diff --git a/dc.c b/dc.c
index 7b13cb943698636d4840b3b64354cb89400516df..d462100a21166e42c939915de6b0f761a1ed5253 100644 (file)
--- a/dc.c
+++ b/dc.c
@@ -1,5 +1,5 @@
 /* vi: set sw=4 ts=4: */
-#include "internal.h"
+#include "busybox.h"
 #include <ctype.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -8,32 +8,20 @@
 
 /* Tiny RPN calculator, because "expr" didn't give me bitwise operations. */
 
-static const char dc_usage[] = "dc expression ...\n"
-#ifndef BB_FEATURE_TRIVIAL_HELP
-               "\nThis is a Tiny RPN calculator that understands the\n"
-               "following operations: +, -, /, *, and, or, not, eor.\n"
-               "i.e. 'dc 2 2 add' -> 4, and 'dc 8 8 \\* 2 2 + /' -> 16\n"
-#endif
-               ;
-
 static double stack[100];
 static unsigned int pointer;
 
 static void push(double a)
 {
-       if (pointer >= (sizeof(stack) / sizeof(*stack))) {
-               errorMsg("stack overflow\n");
-               exit(-1);
-       } else
-               stack[pointer++] = a;
+       if (pointer >= (sizeof(stack) / sizeof(*stack)))
+               error_msg_and_die("stack overflow\n");
+       stack[pointer++] = a;
 }
 
 static double pop()
 {
-       if (pointer == 0) {
-               errorMsg("stack underflow\n");
-               exit(-1);
-       }
+       if (pointer == 0)
+               error_msg_and_die("stack underflow\n");
        return stack[--pointer];
 }
 
@@ -132,8 +120,7 @@ static void stack_machine(const char *argument)
                }
                o++;
        }
-       errorMsg("%s: syntax error.\n", argument);
-       exit(-1);
+       error_msg_and_die("%s: syntax error.\n", argument);
 }
 
 /* return pointer to next token in buffer and set *buffer to one char
@@ -190,5 +177,5 @@ int dc_main(int argc, char **argv)
                }
        }
        stack_machine(0);
-       return( TRUE);
+       return EXIT_SUCCESS;
 }