diff --git a/include/config.h b/include/config.h index d633286ba..973dba6f9 100644 --- a/include/config.h +++ b/include/config.h @@ -173,8 +173,10 @@ # define WIZARD_NAME "wizard" #endif -/* #define SYSCF */ /* use a global configuration */ -/* #define SYSCF_FILE "sysconf" */ /* global configuration is in a file */ +#ifndef SYSCF +#define SYSCF /* use a global configuration */ +#define SYSCF_FILE "sysconf" /* global configuration is in a file */ +#endif #ifndef GDBPATH # define GDBPATH "/usr/bin/gdb" diff --git a/src/do.c b/src/do.c index 00698e317..1ee1ff2d1 100644 --- a/src/do.c +++ b/src/do.c @@ -217,7 +217,7 @@ const char *verb; /* Globby things like puddings might stick together */ while (obj && (otmp = obj_nexto_xy(obj->otyp, x, y, obj->o_id)) != (struct obj*)0) { pudding_merge_message(obj, otmp); - obj_meld(&obj, &otmp); + obj = obj_meld(&obj, &otmp); } return (obj == NULL); } diff --git a/src/timeout.c b/src/timeout.c index e1ccaf96e..4146df967 100644 --- a/src/timeout.c +++ b/src/timeout.c @@ -1,4 +1,4 @@ -/* NetHack 3.5 timeout.c $NHDT-Date$ $NHDT-Branch$:$NHDT-Revision$ */ +/* NetHack 3.5 timeout.c $NHDT-Date: 1430754548 2015/05/04 15:49:08 $ $NHDT-Branch: master $:$NHDT-Revision: 1.55 $ */ /* NetHack 3.5 timeout.c $Date: 2012/04/16 00:57:37 $ $Revision: 1.48 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ @@ -817,7 +817,8 @@ long timeout; obj->spe = 0; /* no more candles */ } else if (Is_candle(obj) || obj->otyp == POT_OIL) { /* get rid of candles and burning oil potions; - we know this object isn't carried by hero */ + we know this object isn't carried by hero, + nor is it migrating */ obj_extract_self(obj); obfree(obj, (struct obj *)0); obj = (struct obj *) 0; @@ -861,6 +862,9 @@ long timeout; if (carried(obj)) { useupall(obj); } else { + /* clear migrating obj's destination code before obfree + to avoid false complaint of deleting worn item */ + if (obj->where == OBJ_MIGRATING) obj->owornmask = 0L; obj_extract_self(obj); obfree(obj, (struct obj *)0); } @@ -1037,6 +1041,10 @@ long timeout; if (carried(obj)) { useupall(obj); } else { + /* clear migrating obj's destination code + so obfree won't think this item is worn */ + if (obj->where == OBJ_MIGRATING) + obj->owornmask = 0L; obj_extract_self(obj); obfree(obj, (struct obj *)0); } diff --git a/sys/unix/hints/linux b/sys/unix/hints/linux index 3ae677d00..8f3d7f3db 100644 --- a/sys/unix/hints/linux +++ b/sys/unix/hints/linux @@ -15,6 +15,10 @@ PREFIX=$(wildcard ~)/nh/install HACKDIR=$(PREFIX)/games/lib/$(GAME)dir SHELLDIR = $(PREFIX)/games + + +POSTINSTALL=cp -n sys/unix/sysconf $(HACKDIR)/sysconf; $(CHOWN) $(GAMEUID) $(HACKDIR)/sysconf; $(CHGRP) $(GAMEGRP) $(HACKDIR)/sysconf; chmod $(VARFILEPERM) $(HACKDIR)/sysconf; + CFLAGS=-g -O -I../include -DNOTPARMDECL $(CFLAGS1) -DDLB CFLAGS1=-DCOMPRESS=\"/bin/gzip\" -DCOMPRESS_EXTENSION=\".gz\" CFLAGS+=-DSYSCF -DSYSCF_FILE=\"$(HACKDIR)/sysconf\" -DSECURE diff --git a/sys/unix/hints/linux-x11 b/sys/unix/hints/linux-x11 index cf5dfb6f3..42600eb76 100644 --- a/sys/unix/hints/linux-x11 +++ b/sys/unix/hints/linux-x11 @@ -15,6 +15,10 @@ PREFIX=$(wildcard ~)/nh/install HACKDIR=$(PREFIX)/games/lib/$(GAME)dir SHELLDIR = $(PREFIX)/games + +POSTINSTALL= cp -n sys/unix/sysconf $(HACKDIR)/sysconf; $(CHOWN) $(GAMEUID) $(HACKDIR)/sysconf; $(CHGRP) $(GAMEGRP) $(HACKDIR)/sysconf; chmod $(VARFILEPERM) $(HACKDIR)/sysconf; +POSTINSTALL+= bdftopcf win/X11/nh10.bdf > $(HACKDIR)/nh10.pcf; (cd $(HACKDIR); mkfontdir); + CFLAGS=-O -I../include -DNOTPARMDECL $(CFLAGS1) $(CFLAGS3) CFLAGS+=-DSYSCF -DSYSCF_FILE=\"$(HACKDIR)/sysconf\" CFLAGS1=-DCOMPRESS=\"/bin/gzip\" -DCOMPRESS_EXTENSION=\".gz\"