Module Name: src
Committed By: christos
Date: Mon Apr 10 16:37:49 UTC 2017
Modified Files:
src/usr.bin/dc: Makefile bcode.c dc.1 dc.c inout.c main.c mem.c stack.c
src/usr.bin/dc/USD.doc: Makefile
Added Files:
src/usr.bin/dc: misc.c
Log Message:
build fixes.
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 src/usr.bin/dc/Makefile src/usr.bin/dc/bcode.c \
src/usr.bin/dc/dc.1 src/usr.bin/dc/dc.c src/usr.bin/dc/inout.c \
src/usr.bin/dc/main.c src/usr.bin/dc/mem.c src/usr.bin/dc/stack.c
cvs rdiff -u -r0 -r1.1 src/usr.bin/dc/misc.c
cvs rdiff -u -r1.1.1.1 -r1.2 src/usr.bin/dc/USD.doc/Makefile
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.bin/dc/Makefile
diff -u src/usr.bin/dc/Makefile:1.1.1.1 src/usr.bin/dc/Makefile:1.2
--- src/usr.bin/dc/Makefile:1.1.1.1 Mon Apr 10 12:34:18 2017
+++ src/usr.bin/dc/Makefile Mon Apr 10 12:37:48 2017
@@ -1,9 +1,25 @@
-# $OpenBSD: Makefile,v 1.3 2015/10/10 19:28:54 deraadt Exp $
+# $NetBSD: Makefile,v 1.2 2017/04/10 16:37:48 christos Exp $
+
+.include <bsd.own.mk>
PROG= dc
SRCS= main.c dc.c bcode.c inout.c mem.c stack.c
-COPTS+= -Wall
+
+.if ${MKCRYPTO:Uno} == "yes"
+WARNS=6
LDADD= -lcrypto
DPADD= ${LIBCRYPTO}
+.else
+OPENSSL=${NETBSDSRCDIR}/crypto/external/bsd/openssl/dist
+.PATH: ${OPENSSL}/crypto/bn
+CPPFLAGS+=-I${OPENSSL} -I${OPENSSL}/crypto
+SRCS+= bn_lib.c bn_add.c bn_mul.c bn_div.c bn_asm.c bn_word.c bn_shift.c
+SRCS+= bn_ctx.c bn_exp.c bn_mod.c bn_sqr.c bn_mont.c bn_recp.c bn_gcd.c
+SRCS+= misc.c
+COPTS.bn_lib.c += -Wno-cast-qual
+.endif
+
+SUBDIR+=USD.doc
.include <bsd.prog.mk>
+.include <bsd.subdir.mk>
Index: src/usr.bin/dc/bcode.c
diff -u src/usr.bin/dc/bcode.c:1.1.1.1 src/usr.bin/dc/bcode.c:1.2
--- src/usr.bin/dc/bcode.c:1.1.1.1 Mon Apr 10 12:34:18 2017
+++ src/usr.bin/dc/bcode.c Mon Apr 10 12:37:48 2017
@@ -1,3 +1,4 @@
+/* $NetBSD: bcode.c,v 1.2 2017/04/10 16:37:48 christos Exp $ */
/* $OpenBSD: bcode.c,v 1.51 2017/02/26 11:29:55 otto Exp $ */
/*
@@ -15,6 +16,8 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#include <sys/cdefs.h>
+__RCSID("$NetBSD: bcode.c,v 1.2 2017/04/10 16:37:48 christos Exp $");
#include <err.h>
#include <limits.h>
@@ -227,7 +230,7 @@ sighandler(int ignored)
void
init_bmachine(bool extended_registers)
{
- int i;
+ size_t i;
bmachine.extended_regs = extended_registers;
bmachine.reg_array_size = bmachine.extended_regs ?
@@ -342,12 +345,12 @@ static unsigned long factors[] = {
void
scale_number(BIGNUM *n, int s)
{
- int abs_scale;
+ size_t abs_scale;
if (s == 0)
return;
- abs_scale = s > 0 ? s : -s;
+ abs_scale = (size_t)(s > 0 ? s : -s);
if (abs_scale < sizeof(factors)/sizeof(factors[0])) {
if (s > 0)
@@ -415,7 +418,7 @@ split_number(const struct number *n, BIG
void
normalize(struct number *n, u_int s)
{
- scale_number(n->number, s - n->scale);
+ scale_number(n->number, (int)(s - n->scale));
n->scale = s;
}
@@ -785,7 +788,7 @@ readreg(void)
} else
idx = (ch1 << 8) + ch2 + UCHAR_MAX + 1;
}
- if (idx < 0 || idx >= bmachine.reg_array_size) {
+ if (idx < 0 || (size_t)idx >= bmachine.reg_array_size) {
warnx("internal error: reg num = %d", idx);
idx = -1;
}
@@ -1244,7 +1247,7 @@ bexp(void)
bn_check(BN_one(one));
ctx = BN_CTX_new();
bn_checkp(ctx);
- scale_number(one, r->scale + rscale);
+ scale_number(one, (int)(r->scale + rscale));
if (BN_is_zero(r->number))
warnx("divide by zero");
@@ -1683,11 +1686,10 @@ eval_string(char *p)
}
if (bmachine.readsp == bmachine.readstack_sz - 1) {
size_t newsz = bmachine.readstack_sz * 2;
- struct source *stack;
- stack = reallocarray(bmachine.readstack, newsz,
- sizeof(struct source));
- if (stack == NULL)
- err(1, "recursion too deep");
+ struct source *stack = bmachine.readstack;
+ int ret = reallocarr(&stack, newsz, sizeof(struct source));
+ if (ret)
+ errc(1, ret, "recursion too deep");
bmachine.readstack_sz = newsz;
bmachine.readstack = stack;
}
Index: src/usr.bin/dc/dc.1
diff -u src/usr.bin/dc/dc.1:1.1.1.1 src/usr.bin/dc/dc.1:1.2
--- src/usr.bin/dc/dc.1:1.1.1.1 Mon Apr 10 12:34:18 2017
+++ src/usr.bin/dc/dc.1 Mon Apr 10 12:37:48 2017
@@ -1,3 +1,4 @@
+.\" $NetBSD: dc.1,v 1.2 2017/04/10 16:37:48 christos Exp $
.\" $OpenBSD: dc.1,v 1.30 2017/02/23 06:40:17 otto Exp $
.\"
.\" Copyright (C) Caldera International Inc. 2001-2002.
@@ -34,7 +35,7 @@
.\"
.\" @(#)dc.1 8.1 (Berkeley) 6/6/93
.\"
-.Dd $Mdocdate: February 23 2017 $
+.Dd February 23, 2017
.Dt DC 1
.Os
.Sh NAME
Index: src/usr.bin/dc/dc.c
diff -u src/usr.bin/dc/dc.c:1.1.1.1 src/usr.bin/dc/dc.c:1.2
--- src/usr.bin/dc/dc.c:1.1.1.1 Mon Apr 10 12:34:18 2017
+++ src/usr.bin/dc/dc.c Mon Apr 10 12:37:48 2017
@@ -1,3 +1,4 @@
+/* $NetBSD: dc.c,v 1.2 2017/04/10 16:37:48 christos Exp $ */
/* $OpenBSD: dc.c,v 1.18 2016/07/17 17:30:47 otto Exp $ */
/*
@@ -15,6 +16,8 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#include <sys/cdefs.h>
+__RCSID("$NetBSD: dc.c,v 1.2 2017/04/10 16:37:48 christos Exp $");
#include <sys/stat.h>
#include <err.h>
@@ -27,13 +30,11 @@
static __dead void usage(void);
-extern char *__progname;
-
static __dead void
usage(void)
{
(void)fprintf(stderr, "usage: %s [-x] [-e expression] [file]\n",
- __progname);
+ getprogname());
exit(1);
}
@@ -91,8 +92,10 @@ dc_main(int argc, char *argv[])
if (file == NULL)
err(1, "cannot open file %s", argv[0]);
+#ifdef __OpenBSD__
if (pledge("stdio", NULL) == -1)
err(1, "pledge");
+#endif
if (fstat(fileno(file), &st) == -1)
err(1, "%s", argv[0]);
@@ -109,8 +112,10 @@ dc_main(int argc, char *argv[])
return (0);
}
+#ifdef __OpenBSD__
if (pledge("stdio", NULL) == -1)
err(1, "pledge");
+#endif
src_setstream(&src, stdin);
reset_bmachine(&src);
Index: src/usr.bin/dc/inout.c
diff -u src/usr.bin/dc/inout.c:1.1.1.1 src/usr.bin/dc/inout.c:1.2
--- src/usr.bin/dc/inout.c:1.1.1.1 Mon Apr 10 12:34:18 2017
+++ src/usr.bin/dc/inout.c Mon Apr 10 12:37:48 2017
@@ -1,3 +1,4 @@
+/* $NetBSD: inout.c,v 1.2 2017/04/10 16:37:48 christos Exp $ */
/* $OpenBSD: inout.c,v 1.20 2017/02/26 11:29:55 otto Exp $ */
/*
@@ -15,6 +16,8 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#include <sys/cdefs.h>
+__RCSID("$NetBSD: inout.c,v 1.2 2017/04/10 16:37:48 christos Exp $");
#include <ctype.h>
#include <err.h>
@@ -129,7 +132,7 @@ src_getlinestring(struct source *src)
ch = src_getcharstring(src);
if (ch == EOF)
break;
- buf[i++] = ch;
+ buf[i++] = (char)ch;
if (ch == '\n')
break;
}
@@ -191,9 +194,9 @@ readnumber(struct source *src, u_int bas
while ((ch = (*src->vtable->readchar)(src)) != EOF) {
if ('0' <= ch && ch <= '9')
- v = ch - '0';
+ v = (BN_ULONG)(ch - '0');
else if ('A' <= ch && ch <= 'F')
- v = ch - 'A' + 10;
+ v = (BN_ULONG)(ch - 'A' + 10);
else if (ch == '_') {
sign = true;
continue;
@@ -218,7 +221,7 @@ readnumber(struct source *src, u_int bas
bn_check(BN_add_word(n->number, v));
}
if (base != 10) {
- scale_number(n->number, n->scale);
+ scale_number(n->number, (int)n->scale);
for (i = 0; i < n->scale; i++)
(void)BN_div_word(n->number, base);
}
@@ -230,7 +233,8 @@ readnumber(struct source *src, u_int bas
char *
read_string(struct source *src)
{
- int count, i, sz, new_sz, ch;
+ size_t count, i, sz, new_sz;
+ int ch;
char *p;
bool escape;
@@ -258,7 +262,7 @@ read_string(struct source *src)
p = breallocarray(p, 1, new_sz + 1);
sz = new_sz;
}
- p[i++] = ch;
+ p[i++] = (char)ch;
}
}
p[i] = '\0';
@@ -272,7 +276,7 @@ get_digit(u_long num, int digits, u_int
if (base <= 16) {
p = bmalloc(2);
- p[0] = num >= 10 ? num + 'A' - 10 : num + '0';
+ p[0] = (char)(num >= 10 ? num + 'A' - 10 : num + '0');
p[1] = '\0';
} else {
if (asprintf(&p, "%0*lu", digits, num) == -1)
@@ -287,8 +291,7 @@ printnumber(FILE *f, const struct number
struct number *int_part, *fract_part;
int digits;
char buf[11];
- size_t sz;
- int i;
+ size_t sz, i;
struct stack stack;
char *p;
@@ -337,7 +340,7 @@ printnumber(FILE *f, const struct number
bn_check(BN_one(&mult));
BN_init(&stop);
bn_check(BN_one(&stop));
- scale_number(&stop, b->scale);
+ scale_number(&stop, (int)b->scale);
i = 0;
while (BN_cmp(&mult, &stop) < 0) {
Index: src/usr.bin/dc/main.c
diff -u src/usr.bin/dc/main.c:1.1.1.1 src/usr.bin/dc/main.c:1.2
--- src/usr.bin/dc/main.c:1.1.1.1 Mon Apr 10 12:34:18 2017
+++ src/usr.bin/dc/main.c Mon Apr 10 12:37:48 2017
@@ -1,3 +1,4 @@
+/* $NetBSD: main.c,v 1.2 2017/04/10 16:37:48 christos Exp $ */
/* $OpenBSD: main.c,v 1.1 2015/10/10 19:28:54 deraadt Exp $ */
/*
@@ -15,6 +16,8 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#include <sys/cdefs.h>
+__RCSID("$NetBSD: main.c,v 1.2 2017/04/10 16:37:48 christos Exp $");
#include <err.h>
#include <stdlib.h>
@@ -27,8 +30,10 @@ main(int argc, char *argv[])
{
setproctitle("dc");
+#ifdef __OpenBSD__
if (pledge("stdio rpath", NULL) == -1)
err(1, "pledge");
+#endif
return dc_main(argc, argv);
}
Index: src/usr.bin/dc/mem.c
diff -u src/usr.bin/dc/mem.c:1.1.1.1 src/usr.bin/dc/mem.c:1.2
--- src/usr.bin/dc/mem.c:1.1.1.1 Mon Apr 10 12:34:18 2017
+++ src/usr.bin/dc/mem.c Mon Apr 10 12:37:48 2017
@@ -1,3 +1,4 @@
+/* $NetBSD: mem.c,v 1.2 2017/04/10 16:37:48 christos Exp $ */
/* $OpenBSD: mem.c,v 1.7 2015/02/16 20:53:34 jca Exp $ */
/*
@@ -15,6 +16,8 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#include <sys/cdefs.h>
+__RCSID("$NetBSD: mem.c,v 1.2 2017/04/10 16:37:48 christos Exp $");
#include <openssl/err.h>
@@ -70,12 +73,10 @@ bmalloc(size_t sz)
void *
breallocarray(void *p, size_t nmemb, size_t size)
{
- void *q;
-
- q = reallocarray(p, nmemb, size);
- if (q == NULL)
- err(1, NULL);
- return q;
+ int ret = reallocarr(&p, nmemb, size);
+ if (ret)
+ errc(1, ret, NULL);
+ return p;
}
char *
Index: src/usr.bin/dc/stack.c
diff -u src/usr.bin/dc/stack.c:1.1.1.1 src/usr.bin/dc/stack.c:1.2
--- src/usr.bin/dc/stack.c:1.1.1.1 Mon Apr 10 12:34:18 2017
+++ src/usr.bin/dc/stack.c Mon Apr 10 12:37:48 2017
@@ -1,3 +1,4 @@
+/* $NetBSD: stack.c,v 1.2 2017/04/10 16:37:48 christos Exp $ */
/* $OpenBSD: stack.c,v 1.14 2016/03/27 15:55:13 otto Exp $ */
/*
@@ -15,6 +16,8 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
+#include <sys/cdefs.h>
+__RCSID("$NetBSD: stack.c,v 1.2 2017/04/10 16:37:48 christos Exp $");
#include <err.h>
#include <stdlib.h>
@@ -93,7 +96,7 @@ stack_dup_value(const struct value *a, s
size_t
stack_size(const struct stack *stack)
{
- return stack->sp + 1;
+ return (size_t)(stack->sp + 1);
}
void
@@ -129,7 +132,7 @@ stack_grow(struct stack *stack)
{
size_t new_size;
- if (++stack->sp == stack->size) {
+ if ((size_t)++stack->sp == stack->size) {
new_size = stack->size * 2 + 1;
stack->stack = breallocarray(stack->stack,
new_size, sizeof(*stack->stack));
Index: src/usr.bin/dc/USD.doc/Makefile
diff -u src/usr.bin/dc/USD.doc/Makefile:1.1.1.1 src/usr.bin/dc/USD.doc/Makefile:1.2
--- src/usr.bin/dc/USD.doc/Makefile:1.1.1.1 Mon Apr 10 12:34:18 2017
+++ src/usr.bin/dc/USD.doc/Makefile Mon Apr 10 12:37:48 2017
@@ -1,13 +1,8 @@
-# $OpenBSD: Makefile,v 1.2 2004/02/01 15:18:01 jmc Exp $
+# $NetBSD: Makefile,v 1.2 2017/04/10 16:37:48 christos Exp $
-DIR= usd/05.dc
+SECTION=reference/ref1
+ARTICLE=dc
SRCS= dc
MACROS= -ms
-paper.ps: ${SRCS}
- ${EQN} ${SRCS} | ${ROFF} > ${.TARGET}
-
-paper.txt: ${SRCS}
- ${EQN} -Tascii ${SRCS} | ${ROFF} -Tascii > ${.TARGET}
-
.include <bsd.doc.mk>
Added files:
Index: src/usr.bin/dc/misc.c
diff -u /dev/null src/usr.bin/dc/misc.c:1.1
--- /dev/null Mon Apr 10 12:37:49 2017
+++ src/usr.bin/dc/misc.c Mon Apr 10 12:37:48 2017
@@ -0,0 +1,73 @@
+/* $NetBSD: misc.c,v 1.1 2017/04/10 16:37:48 christos Exp $ */
+
+/*-
+ * Copyright (c) 2017 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+#include <sys/cdefs.h>
+__RCSID("$NetBSD: misc.c,v 1.1 2017/04/10 16:37:48 christos Exp $")
+
+#include <stdlib.h>
+#include <err.h>
+#include <string.h>
+#include <openssl/crypto.h>
+#include <openssl/err.h>
+
+void *
+CRYPTO_malloc(int len, const char *file, int line)
+{
+ void *p = malloc(len);
+ if (p == NULL)
+ err(1, "%s,%d: Can't allocate %d bytes", file, line, len);
+ return p;
+}
+
+void
+CRYPTO_free(void *p)
+{
+ free(p);
+}
+
+void
+CRYPTO_lock(int mode, int type, const char *file, int line)
+{
+}
+
+unsigned long
+ERR_get_error(void)
+{
+
+ return 0;
+}
+
+void
+ERR_put_error(int lib, int func, int reason, const char *file, int line)
+{
+}
+
+void
+OPENSSL_cleanse(void *p, size_t l)
+{
+ explicit_memset(p, 0, l);
+}