aboutsummaryrefslogtreecommitdiff
path: root/usr.bin
diff options
context:
space:
mode:
authorDavid E. O'Brien <obrien@FreeBSD.org>1999-07-29 09:42:14 +0000
committerDavid E. O'Brien <obrien@FreeBSD.org>1999-07-29 09:42:14 +0000
commite7bd01e5df8a3e8b4c1159aff8d4842b82dfc606 (patch)
tree00a336cc052304816aac1ca12abe9e7414cd3998 /usr.bin
parentd91908a43ce2f16267cc465871092fead2110dee (diff)
downloadsrc-e7bd01e5df8a3e8b4c1159aff8d4842b82dfc606.tar.gz
src-e7bd01e5df8a3e8b4c1159aff8d4842b82dfc606.zip
* Don't assume realloc() can take NULL as first arg. Yacc needs to
generate portable code... * Correctly define yyparse() (ie, K&R vs. C++/ANSI-C) Obtained from: OpenBSD revs 1.5 & 1.10
Notes
Notes: svn path=/head/; revision=49211
Diffstat (limited to 'usr.bin')
-rw-r--r--usr.bin/yacc/skeleton.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/usr.bin/yacc/skeleton.c b/usr.bin/yacc/skeleton.c
index c0f2ad107c12..7a00b480649c 100644
--- a/usr.bin/yacc/skeleton.c
+++ b/usr.bin/yacc/skeleton.c
@@ -33,7 +33,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: skeleton.c,v 1.15 1999/04/18 13:37:49 peter Exp $
+ * $Id: skeleton.c,v 1.16 1999/07/29 08:47:30 obrien Exp $
*/
#ifndef lint
@@ -142,11 +142,15 @@ char *body[] =
" else if ((newsize *= 2) > YYMAXDEPTH)",
" newsize = YYMAXDEPTH;",
" i = yyssp - yyss;",
- " if ((newss = (short *)realloc(yyss, newsize * sizeof *newss)) == NULL)",
+ " newss = yyss ? (short *)realloc(yyss, newsize * sizeof *newss) :",
+ " (short *)malloc(newsize * sizeof *newss);",
+ " if (newss == NULL)",
" return -1;",
" yyss = newss;",
" yyssp = newss + i;",
- " if ((newvs = (YYSTYPE *)realloc(yyvs, newsize * sizeof *newvs)) == NULL)",
+ " newvs = yyvs ? (YYSTYPE *)realloc(yyvs, newsize * sizeof *newvs) :",
+ " (YYSTYPE *)malloc(newsize * sizeof *newvs);",
+ " if (newvs == NULL)",
" return -1;",
" yyvs = newvs;",
" yyvsp = newvs + i;",
@@ -161,7 +165,11 @@ char *body[] =
"#define YYERROR goto yyerrlab",
"",
"int",
+ "#if defined(__cplusplus) || __STDC__",
+ "yyparse(void)",
+ "#else",
"yyparse()",
+ "#endif",
"{",
" register int yym, yyn, yystate;",
"#if YYDEBUG",