diff --git a/src/dmalloc.h b/src/dmalloc.h
index df8af09f0dbd8ad7220f3694e06d784de932df60..22016d364ba5ab4f8ed092413bdd4151594962f9 100644
--- a/src/dmalloc.h
+++ b/src/dmalloc.h
@@ -1,5 +1,5 @@
 /*
- * $Id: dmalloc.h,v 1.16 1999/10/18 19:15:40 hubbe Exp $
+ * $Id: dmalloc.h,v 1.17 1999/10/21 22:40:23 grubba Exp $
  */
 
 extern char *debug_xalloc(long);
@@ -45,6 +45,7 @@ void debug_malloc_copy_names(void *p, void *p2);
 #define xalloc(X) ((char *)debug_malloc_touch(debug_xalloc(X)))
 void debug_malloc_dump_references(void *x);
 #define dmalloc_touch(TYPE,X) ((TYPE)debug_malloc_update_location((X),__FILE__,__LINE__))
+#define dmalloc_touch_svalue(X) do { struct svalue *_tmp = (X); if ((X)->type <= MAX_REF_TYPE) { debug_malloc_touch(_tmp->u.refs); } } while(0)
 
 #define DMALLOC_LINE_ARGS ,char * dmalloc_file, int dmalloc_line
 #define DMALLOC_POS ,__FILE__,__LINE__
@@ -70,6 +71,7 @@ void dmalloc_accept_leak(void *);
 #define debug_malloc_touch(X)
 #define debug_malloc_pass(X) (X)
 #define dmalloc_touch(TYPE,X) (X)
+#define dmalloc_touch_svalue(X)
 #define dmalloc_register(X,Y,Z,W)
 #define dmalloc_unregister(X,Y)
 #define debug_free(X,Y,Z,Q) free((X))