From af3e759da22c9fedb0c2de1fa069c30935369954 Mon Sep 17 00:00:00 2001 From: ceriel Date: Mon, 3 Aug 1987 14:40:49 +0000 Subject: [PATCH] fix blocks.c --- lang/cem/cemcom/Makefile | 15 +++++++-------- lang/cem/cemcom/blocks.c | 8 +++++++- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/lang/cem/cemcom/Makefile b/lang/cem/cemcom/Makefile index 10f5dffe9..a2c508a34 100644 --- a/lang/cem/cemcom/Makefile +++ b/lang/cem/cemcom/Makefile @@ -13,13 +13,12 @@ EMKLIB = $(EMHOME)/modules/lib/libemk.a EMELIB = $(EMHOME)/modules/lib/libeme.a STRLIB = $(EMHOME)/modules/lib/libstring.a PRTLIB = $(EMHOME)/modules/lib/libprint.a -EMMESLIB = $(EMHOME)/modules/lib/libem_mesO.a +EMMESLIB = $(EMHOME)/modules/lib/libem_mes.a INPLIB = $(EMHOME)/modules/lib/libinput.a ALLOCLIB = $(EMHOME)/modules/lib/liballoc.a MALLOC = $(EMHOME)/modules/lib/malloc.o -LIBS = $(EMMESLIB) $(EMHOME)/modules/lib/libemopt.a $(EMHOME)/modules/lib/libread_emk.a \ - $(INPLIB) $(EMKLIB) $(PRTLIB) $(STRLIB) \ - $(ALLOCLIB) $(MALLOC) $(SYSLIB) $(EMHOME)/lib/em_data.a +LIBS = $(INPLIB) $(EMMESLIB) $(EMKLIB) $(PRTLIB) $(STRLIB) \ + $(ALLOCLIB) $(MALLOC) $(SYSLIB) ELIBS = $(INPLIB) $(EMMESLIB) $(EMELIB) $(PRTLIB) $(STRLIB) \ $(ALLOCLIB) $(MALLOC) $(SYSLIB) LIB_INCLUDES = -I$(EMHOME)/modules/h -I$(EMHOME)/modules/pkg @@ -36,7 +35,7 @@ ALLOCLLIB = $(EMHOME)/modules/lib/llib-lalloc.ln LINTLIBS = $(EMMESLLIB) $(EMKLLIB) $(PRTLLIB) $(STRLLIB) $(ALLOCLLIB) $(SYSLLIB) CURRDIR = . -COPTIONS = -DPEEPHOLE +COPTIONS = # What parser generator to use and how GEN = $(EMHOME)/bin/LLgen @@ -119,12 +118,12 @@ Emain: Cfiles @rm -f nmclash.o a.out install: Main - rm -f $(EMHOME)/lib/em_cemcomO $(EMHOME)/man/em_cemcom.6 - cp $(CURRDIR)/main $(EMHOME)/lib/em_cemcomO + rm -f $(EMHOME)/lib/em_cemcom $(EMHOME)/man/em_cemcom.6 + cp $(CURRDIR)/main $(EMHOME)/lib/em_cemcom cp $(CURRDIR)/cemcom.1 $(EMHOME)/man/em_cemcom.6 cmp: Main - -cmp $(CURRDIR)/main $(EMHOME)/lib/em_cemcomO + -cmp $(CURRDIR)/main $(EMHOME)/lib/em_cemcom -cmp $(CURRDIR)/cemcom.1 $(EMHOME)/man/em_cemcom.6 pr: diff --git a/lang/cem/cemcom/blocks.c b/lang/cem/cemcom/blocks.c index b60b67fa1..3aea3618f 100644 --- a/lang/cem/cemcom/blocks.c +++ b/lang/cem/cemcom/blocks.c @@ -96,7 +96,13 @@ load_block(sz, al) { arith esz = ATW(sz); /* effective size == actual # pushed bytes */ - if (((sz == al) && (word_align % al == 0)) || (al % word_align == 0)) + if ( + ((sz == al) && (word_align % al == 0)) || + ( + (sz % word_size == 0 || word_size % sz == 0) && + (al % word_align == 0) + ) + ) /* Lots of Irritating Stupid Parentheses */ C_loi(sz); else { #ifndef STB -- 2.34.1