aboutsummaryrefslogtreecommitdiff
path: root/src/libutil
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2008-08-25 13:31:57 +0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2008-08-25 13:31:57 +0000
commitb428adc267f23441be2f801239641aaf8419e4ba (patch)
tree8dbbe5171888a340b8bf223268a2c764d94d0bb3 /src/libutil
parentcc826dc03e738c1d6c6fd6de0dfd9600f6289b72 (diff)
* Strip off the `.nix' suffix from the attribute name for files in
~/.nix-defexpr, otherwise the attribute cannot be selected with the `-A' option. Useful if you want to stick a Nix expression directly in ~/.nix-defexpr.
Diffstat (limited to 'src/libutil')
-rw-r--r--src/libutil/hash.cc1
-rw-r--r--src/libutil/util.cc6
-rw-r--r--src/libutil/util.hh4
3 files changed, 11 insertions, 0 deletions
diff --git a/src/libutil/hash.cc b/src/libutil/hash.cc
index 70604a50a..372826f31 100644
--- a/src/libutil/hash.cc
+++ b/src/libutil/hash.cc
@@ -257,6 +257,7 @@ Hash hashString(HashType ht, const string & s)
start(ht, ctx);
update(ht, ctx, (const unsigned char *) s.c_str(), s.length());
finish(ht, ctx, hash.hash);
+ //printMsg(lvlError, format("hashString %1% --> %2%:\n%3%\n===========END======") % s.size() % printHash(hash) % s);
return hash;
}
diff --git a/src/libutil/util.cc b/src/libutil/util.cc
index c28f4e1bb..e541887ee 100644
--- a/src/libutil/util.cc
+++ b/src/libutil/util.cc
@@ -1046,6 +1046,12 @@ bool string2Int(const string & s, long long & n)
}
+bool hasSuffix(const string & s, const string & suffix)
+{
+ return s.size() >= suffix.size() && string(s, s.size() - suffix.size()) == suffix;
+}
+
+
void ignoreException()
{
try {
diff --git a/src/libutil/util.hh b/src/libutil/util.hh
index 6c67e450b..1fd89f3a5 100644
--- a/src/libutil/util.hh
+++ b/src/libutil/util.hh
@@ -294,6 +294,10 @@ bool string2Int(const string & s, int & n);
bool string2Int(const string & s, long long & n);
+/* Return true iff `s' ends in `suffix'. */
+bool hasSuffix(const string & s, const string & suffix);
+
+
/* Exception handling in destructors: print an error message, then
ignore the exception. */
void ignoreException();