summary refs log tree commit diff
path: root/src/libutil
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2005-01-20 14:10:19 +0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2005-01-20 14:10:19 +0000
commit05f0430de1d8eeae222a1306d4d0f7f407c8ce7d (patch)
tree2bd947476885025bd52f61430c269398008fb093 /src/libutil
parent6ff48e77f6da3c523a29c254b315d83e310290b3 (diff)
downloadguix-05f0430de1d8eeae222a1306d4d0f7f407c8ce7d.tar.gz
* Another change to low-level derivations. The last one this year, I
  promise :-) This allows derivations to specify on *what* output
  paths of input derivations they are dependent.  This helps to
  prevent unnecessary downloads.  For instance, a build might be
  dependent on the `devel' and `lib' outputs of some library
  component, but not the `docs' output.

Diffstat (limited to 'src/libutil')
-rw-r--r--src/libutil/util.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/libutil/util.cc b/src/libutil/util.cc
index 266ab67f04..e77009321d 100644
--- a/src/libutil/util.cc
+++ b/src/libutil/util.cc
@@ -587,6 +587,8 @@ Strings unpackStrings(const string & s)
         len |= ((unsigned char) *i++) << 8;
         len |= ((unsigned char) *i++) << 16;
         len |= ((unsigned char) *i++) << 24;
+
+        if (len == 0xffffffff) return strings; /* explicit end-of-list */
         
         if (i + len > s.end())
             throw Error(format("short db entry: `%1%'") % s);