summaryrefslogtreecommitdiff
path: root/usr/src/cmd/dc/dc.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/cmd/dc/dc.c')
-rw-r--r--usr/src/cmd/dc/dc.c72
1 files changed, 41 insertions, 31 deletions
diff --git a/usr/src/cmd/dc/dc.c b/usr/src/cmd/dc/dc.c
index 8fbd4792ee..772201157c 100644
--- a/usr/src/cmd/dc/dc.c
+++ b/usr/src/cmd/dc/dc.c
@@ -19,15 +19,14 @@
*
* CDDL HEADER END
*/
-/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
-/* All Rights Reserved */
-
-
/*
* Copyright 2003 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
#pragma ident "%Z%%M% %I% %E% SMI"
#include <stdio.h>
@@ -38,6 +37,7 @@
#include <limits.h>
#include "dc.h"
#include <locale.h>
+#include <stdlib.h>
#define LASTFUN 026
long longest = 0, maxsize = 0, active = 0;
@@ -59,17 +59,17 @@ int lall = 0, lrel = 0, lcopy = 0, lmore = 0, lbytes = 0;
* may vary on less common architectures.
*/
-int
-ctoint(c)
#if __STDC__
-char c;
+int
+ctoint(char c)
#else
-unsigned char c;
+int
+ctoint(unsigned char c)
#endif
{
int i;
- if (c <= SCHAR_MAX)
+ if ((unsigned char)c <= SCHAR_MAX)
return ((int)c); /* Normal promotion will work */
for (i = 0; c++; i--); /* Scan for negative value */
return (i);
@@ -79,7 +79,9 @@ unsigned char c;
#define TEXT_DOMAIN "SYS_TEST" /* Use this only if it weren't. */
#endif
-void
+void commnds(void) __NORETURN;
+
+int
main(int argc, char **argv)
{
(void) setlocale(LC_ALL, "");
@@ -91,7 +93,7 @@ main(int argc, char **argv)
}
void
-commnds()
+commnds(void)
{
int c;
struct blk *p, *q;
@@ -772,7 +774,7 @@ execute:
}
struct blk *
-div(struct blk *ddivd, struct blk *ddivr)
+dcdiv(struct blk *ddivd, struct blk *ddivr)
{
int divsign, remsign, offset, divcarry;
int carry, dig, magic, d, dd, under;
@@ -931,7 +933,8 @@ ddone:
}
int
-dscale() {
+dscale(void)
+{
struct blk *dd, *dr, *r;
int c;
@@ -992,7 +995,7 @@ removr(struct blk *p, int n)
sputc(r, sgetc(p));
release(p);
if (n == 1) {
- s = div(r, tenptr);
+ s = dcdiv(r, tenptr);
release(r);
rewind(rem);
if (sfeof(rem) == 0)
@@ -1045,11 +1048,11 @@ sqrt(struct blk *p)
} else
salterc(r, c);
for (; ; ) {
- q = div(p, r);
+ q = dcdiv(p, r);
s = add(q, r);
release(q);
release(rem);
- q = div(s, sqtemp);
+ q = dcdiv(s, sqtemp);
release(s);
release(rem);
s = copy(r, length(r));
@@ -1089,7 +1092,7 @@ exp(struct blk *base, struct blk *ex)
chsign(e);
}
while (length(e) != 0) {
- e1 = div(e, sqtemp);
+ e1 = dcdiv(e, sqtemp);
release(e);
e = e1;
n = length(rem);
@@ -1236,7 +1239,8 @@ pushp(struct blk *p)
}
struct blk *
-pop() {
+pop(void)
+{
if (stkptr == stack) {
stkerr = 1;
return (0);
@@ -1245,7 +1249,8 @@ pop() {
}
struct blk *
-readin() {
+readin(void)
+{
struct blk *p, *q;
int dp, dpct;
int c;
@@ -1426,7 +1431,8 @@ chsign(struct blk *p)
}
char
-readc() {
+readc(void)
+{
loop:
if ((readptr != &readstk[0]) && (*readptr != 0)) {
if (sfeof(*readptr) == 0)
@@ -1475,7 +1481,7 @@ binop(char c)
r = mult(arg1, arg2);
break;
case '/':
- r = div(arg1, arg2);
+ r = dcdiv(arg1, arg2);
break;
}
release(arg1);
@@ -1534,7 +1540,7 @@ print(struct blk *hptr)
dec = getdec(p, sc);
p = removc(p, sc);
while (length(p) != 0) {
- q = div(p, basptr);
+ q = dcdiv(p, basptr);
release(p);
p = q;
(*outdit)(rem, 0);
@@ -1594,7 +1600,7 @@ getdec(struct blk *p, int sc)
sputc(s, sgetc(t));
sputc(s, 0);
release(t);
- t = div(s, tenptr);
+ t = dcdiv(s, tenptr);
release(s);
release(rem);
return (t);
@@ -1791,7 +1797,7 @@ bigot(struct blk *p, int flg)
chsign(p);
}
while (length(p) != 0) {
- q = div(p, tenptr);
+ q = dcdiv(p, tenptr);
release(p);
p = q;
rewind(rem);
@@ -1874,7 +1880,7 @@ add(struct blk *a1, struct blk *a2)
}
int
-eqk() {
+eqk(void) {
struct blk *p, *q;
int skp, skq;
@@ -1916,7 +1922,7 @@ removc(struct blk *p, int n)
while (sfeof(p) == 0)
sputc(q, sgetc(p));
if (n == 1) {
- r = div(q, tenptr);
+ r = dcdiv(q, tenptr);
release(q);
release(rem);
q = r;
@@ -1945,7 +1951,7 @@ scale(struct blk *p, int n)
sputc(q, n);
s = exp(inbas, q);
release(q);
- q = div(t, s);
+ q = dcdiv(t, s);
release(t);
release(s);
release(rem);
@@ -1954,7 +1960,8 @@ scale(struct blk *p, int n)
}
int
-subt() {
+subt(void)
+{
arg1 = pop();
EMPTYS;
savk = sunputc(arg1);
@@ -1968,7 +1975,8 @@ subt() {
}
int
-command() {
+command(void)
+{
int c;
char line[100], *sl;
void (*savint)();
@@ -2043,7 +2051,8 @@ cond(char c)
}
void
-load() {
+load(void)
+{
int c;
struct blk *p, *q, *t, *s;
@@ -2130,7 +2139,8 @@ salloc(int size)
}
struct blk *
-morehd() {
+morehd(void)
+{
struct blk *h, *kk;
char *dcmalloc();