From 2b6405faa5f4eac1a06c8f57f8ed5f590433a6c7 Mon Sep 17 00:00:00 2001
From: =?utf8?q?Bodo=20M=C3=B6ller?= <bodo@openssl.org>
Date: Sat, 24 Apr 1999 15:11:39 +0000
Subject: [PATCH] Avoid "incomprehensible" errors when required definitions are
 missing.

Submitted by:
Reviewed by:
PR:
---
 crypto/asn1/asn1.h | 3 +++
 crypto/bn/bn.h     | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/crypto/asn1/asn1.h b/crypto/asn1/asn1.h
index 15cd421863..8a28085d55 100644
--- a/crypto/asn1/asn1.h
+++ b/crypto/asn1/asn1.h
@@ -679,6 +679,9 @@ char *ASN1_unpack_string(ASN1_STRING *oct, char *(*d2i)());
 ASN1_STRING *ASN1_pack_string(char *obj, int (*i2d)(), ASN1_OCTET_STRING **oct);
 
 #else
+#error "OpenSSL cannot be used with NOPROTO defined.  The NOPROTO sections in header files exist only for automatic parsing by certain utilities."
+/* Without this, highly uncomprehensible error messages can occur
+ * when compiling something with -DNOPROTO ... */
 
 ASN1_TYPE *	ASN1_TYPE_new();
 void		ASN1_TYPE_free();
diff --git a/crypto/bn/bn.h b/crypto/bn/bn.h
index 5d6f9f6203..262423fa26 100644
--- a/crypto/bn/bn.h
+++ b/crypto/bn/bn.h
@@ -59,6 +59,9 @@
 #ifndef HEADER_BN_H
 #define HEADER_BN_H
 
+#ifndef WIN16
+#include <stdio.h> /* FILE */
+#endif
 #include <openssl/opensslconf.h>
 
 #ifdef  __cplusplus
-- 
2.25.1