From 9d2bfee6342398041831bc8e126a0a961cca1f86 Mon Sep 17 00:00:00 2001 From: ceriel Date: Mon, 28 Sep 1987 13:45:24 +0000 Subject: [PATCH] some fixes --- lang/m2/m2mm/LLlex.c | 2 -- lang/m2/m2mm/Makefile | 4 +++- lang/m2/m2mm/main.c | 32 ++++++++++++++------------------ lang/m2/m2mm/main.h | 2 -- lang/m2/m2mm/program.g | 2 +- 5 files changed, 18 insertions(+), 24 deletions(-) diff --git a/lang/m2/m2mm/LLlex.c b/lang/m2/m2mm/LLlex.c index fd1e36100..77088ddd0 100644 --- a/lang/m2/m2mm/LLlex.c +++ b/lang/m2/m2mm/LLlex.c @@ -24,7 +24,6 @@ int idfsize = IDFSIZE; int ForeignFlag; static int eofseen; -extern char options[]; STATIC SkipComment() @@ -83,7 +82,6 @@ GetString(upto) /* Read a Modula-2 string, delimited by the character "upto". */ register int ch; - register char *p; while (LoadChar(ch), ch != upto) { if (class(ch) == STNL) { diff --git a/lang/m2/m2mm/Makefile b/lang/m2/m2mm/Makefile index 998af5086..54452c15b 100644 --- a/lang/m2/m2mm/Makefile +++ b/lang/m2/m2mm/Makefile @@ -37,9 +37,11 @@ all: Cfiles install: all cp m2mm $(EMHOME)/bin + cp m2mm.1 $(EMHOME)/man cmp: all - cmp m2mm $(EMHOME)/bin/m2mm + -cmp m2mm $(EMHOME)/bin/m2mm + -cmp m2mm.1 $(EMHOME)/man/m2mm.1 opr: make "EMHOME="$(EMHOME) pr | opr diff --git a/lang/m2/m2mm/main.c b/lang/m2/m2mm/main.c index 1ec48ea38..406b85922 100644 --- a/lang/m2/m2mm/main.c +++ b/lang/m2/m2mm/main.c @@ -21,8 +21,6 @@ #include "tokenname.h" int state; /* either IMPLEMENTATION or PROGRAM */ -char options[128]; -int DefinitionModule; char *ProgName; char **DEFPATH; int nDEF, mDEF; @@ -121,6 +119,8 @@ Add(parglist, f, d, copy) { register struct file_list *a = *parglist, *b = 0; + if (f == 0) return; + while (a && strcmp(a->a_filename, f) != 0) { b = a; a = a->a_next; @@ -153,6 +153,7 @@ ProcessArgs() ForeignFlag = 0; if (! InsertFile(a->a_filename, DEFPATH, &fn)) { Gerror("Could not find %s", a->a_filename); + a->a_filename = ""; a = a->a_next; continue; } @@ -163,12 +164,10 @@ ProcessArgs() else if (p && strcmp(p, ".mod") == 0) { if (! InsertFile(a->a_filename, DEFPATH, &fn)) { Gerror("Could not find %s", a->a_filename); - *p = 0; /* prevent from being used - later - */ + *p = 0; a->a_filename = Salloc(a->a_filename, strlen(a->a_filename) + - 11); + (unsigned)11); strcat(a->a_filename, ".$(SUFFIX)"); a = a->a_next; continue; @@ -187,11 +186,6 @@ No_Mem() fatal("out of memory"); } -C_failed() -{ - fatal("write failed"); -} - AddToList(name, ext) char *name, *ext; { @@ -319,15 +313,17 @@ print_dep() print("%s: \\\n\t", obj); pr_arg(arg); for (a = id->id_mdependson; a; a = a->a_next) { - print(" \\\n\t"); - pr_arg(a); + if (*(a->a_filename)) { + print(" \\\n\t"); + pr_arg(a); + } } print("\n\t$(MOD) -c $(M2FLAGS) $(IFLAGS) "); pr_arg(arg); print("\n"); } } - arg = arg->a_next; + arg = arg->a_next; } } @@ -379,13 +375,13 @@ pr_prog_dep(id) { register struct file_list *p; - print("\nOBS_%s = ", id->id_text); + print("\nOBS_%s =", id->id_text); for (p = id->id_mdependson; p; p = p->a_next) { - if (module_in_arglist(p->a_filename)) { - print("\\\n\t%s.$(SUFFIX)", p->a_filename); + if (module_in_arglist(p->a_filename) || ! p->a_dir) { + print(" \\\n\t%s.$(SUFFIX)", p->a_filename); } else if (! is_library_dir(p->a_dir)) { - print("\\\n\t%s/%s.$(SUFFIX)", p->a_dir, p->a_filename); + print(" \\\n\t%s/%s.$(SUFFIX)", p->a_dir, p->a_filename); } } print("\n\n"); diff --git a/lang/m2/m2mm/main.h b/lang/m2/m2mm/main.h index 5358e2114..e0075a7d3 100644 --- a/lang/m2/m2mm/main.h +++ b/lang/m2/m2mm/main.h @@ -9,8 +9,6 @@ /* $Header$ */ -extern char options[]; /* indicating which options were given */ - extern char **DEFPATH; /* search path for DEFINITION MODULE's */ extern int mDEF, nDEF; extern int state; /* either IMPLEMENTATION or PROGRAM */ diff --git a/lang/m2/m2mm/program.g b/lang/m2/m2mm/program.g index b097cb943..9dfde93a9 100644 --- a/lang/m2/m2mm/program.g +++ b/lang/m2/m2mm/program.g @@ -232,6 +232,6 @@ CompilationUnit: identifier(struct idf **id;): IDENT { extern char idfbuf[]; - *id = str2idf(idfbuf); + *id = str2idf(idfbuf, 1); } ; -- 2.34.1