diff options
author | Charles Edward Pax <charles.pax@gmail.com> | 2017-07-29 04:50:37 -0400 |
---|---|---|
committer | Charles Edward Pax <charles.pax@gmail.com> | 2017-07-29 04:50:37 -0400 |
commit | fe81b34a0b0ac157fce7767ceffb0e9ee19db1a2 (patch) | |
tree | 7fda57d5ea0072c1973703b11d516b25b2986211 /src | |
parent | 058dede703abfe0563e40b12ba8992b60f237cb6 (diff) | |
parent | adcb4123f478d63c7a1cdefe08a39efce9d02f65 (diff) |
Merge branch 'freeze' into doxygen
Diffstat (limited to 'src')
-rwxr-xr-x | src/Makefile | 14 | ||||
-rw-r--r-- | src/interp.c | 12 | ||||
-rw-r--r-- | src/interp.h | 4 |
3 files changed, 15 insertions, 15 deletions
diff --git a/src/Makefile b/src/Makefile index bc65db0..82b3ea5 100755 --- a/src/Makefile +++ b/src/Makefile @@ -1,8 +1,8 @@ # Specify the name of the resulting executable file -name = scim +name = sim # The base directory where everything should be installed. -prefix = /usr/local +prefix = /usr/local/stow/sc-im EXDIR = $(prefix)/bin HELPDIR = $(prefix)/share/$(name) @@ -13,10 +13,10 @@ MANDIR = $(prefix)/share/man/man1 # Change these to your liking or use `make CC=gcc` etc #CC = cc -#YACC = bison -y +YACC = bison -y #SED = sed -LDLIBS += -lm +LDLIBS += -lm -lncursesw -lzip -lxml2 CFLAGS += -Wall -g CFLAGS += -DNCURSES @@ -26,7 +26,7 @@ CFLAGS += -DHELP_PATH=\"$(HELPDIR)\" CFLAGS += -DLIBDIR=\"$(LIBDIR)\" # Sets default pager, e.g. 'less' or 'more' -CFLAGS += -DDFLT_PAGER=\"less\" +CFLAGS += -DDFLT_PAGER=\"pager\" # Sets default editor. Its use in case EDITOR env variable is not set CFLAGS += -DDFLT_EDITOR=\"vim\" # Comment out to disable color support @@ -74,8 +74,8 @@ endif # NOTE: libxlsxwriter is required for xlsx file export support ifneq (,$(wildcard /usr/include/xlsxwriter.h)) - CFLAGS += -DXLSX_EXPORT - LDLIBS += -lxlsxwriter +# CFLAGS += -DXLSX_EXPORT +# LDLIBS += -lxlsxwriter endif # Check for gnuplot existance diff --git a/src/interp.c b/src/interp.c index 58c121f..82810b9 100644 --- a/src/interp.c +++ b/src/interp.c @@ -633,7 +633,7 @@ double donval(char * colstr, double rowdoub) { * The left pointer is a chain of ELIST nodes, the right pointer * is a value. */ -double dolmax(struct enode * ep) { +double dolmax(struct ent * e, struct enode * ep) { register int count = 0; register double maxval = 0; /* Assignment to shut up lint */ register struct enode * p; @@ -641,7 +641,7 @@ double dolmax(struct enode * ep) { cellerror = CELLOK; for (p = ep; p; p = p->e.o.left) { - v = eval(NULL, p->e.o.right); + v = eval(e, p->e.o.right); if ( !count || v > maxval) { maxval = v; count++; @@ -651,7 +651,7 @@ double dolmax(struct enode * ep) { else return (double)0; } -double dolmin(struct enode * ep) { +double dolmin(struct ent * e, struct enode * ep) { register int count = 0; register double minval = 0; /* Assignment to shut up lint */ register struct enode * p; @@ -659,7 +659,7 @@ double dolmin(struct enode * ep) { cellerror = CELLOK; for (p = ep; p; p = p->e.o.left) { - v = eval(NULL, p->e.o.right); + v = eval(e, p->e.o.right); if ( !count || v < minval) { minval = v; count++; @@ -960,8 +960,8 @@ double eval(register struct ent * ent, register struct enode * e) { case ASCII: return (doascii(seval(ent, e->e.o.left))); case SLEN: return (doslen(seval(ent, e->e.o.left))); case EQS: return (doeqs(seval(ent, e->e.o.right), seval(ent, e->e.o.left))); - case LMAX: return dolmax(e); - case LMIN: return dolmin(e); + case LMAX: return dolmax(ent, e); + case LMIN: return dolmin(ent, e); case NVAL: return (donval(seval(ent, e->e.o.left), eval(ent, e->e.o.right))); case MYROW: return ((double) (gmyrow + rowoffset)); case MYCOL: return ((double) (gmycol + coloffset)); diff --git a/src/interp.h b/src/interp.h index 110a39d..957363b 100644 --- a/src/interp.h +++ b/src/interp.h @@ -62,8 +62,8 @@ int doslen(char * s); double doeqs(char * s1, char * s2); struct ent * getent(char * colstr, double rowdoub); double donval(char * colstr, double rowdoub); -double dolmax(struct enode * ep); -double dolmin(struct enode * ep); +double dolmax(struct ent * e, struct enode * ep); +double dolmin(struct ent * e, struct enode * ep); //double eval(register struct enode *e); double eval(register struct ent * ent, register struct enode * e); double fn1_eval(double (* fn)(), double arg); |