A modern, delicious implementation of the Nix package manager, focused on correctness, usability, and growth — and committed to doing right by its community
Find a file
Eelco Dolstra 49009573bc Don't interpret strings as format strings
Ludo reported this error:

  unexpected Nix daemon error: boost::too_few_args: format-string refered to more arguments than were passed

coming from this line:

  printMsg(lvlError, run.program + ": " + string(err, 0, p));

The problem here is that the string ends up implicitly converted to a
Boost format() object, so % characters are treated specially.  I
always assumed (wrongly) that strings are converted to a format object
that outputs the string as-is.

Since this assumption appears in several places that may be hard to
grep for, I've added some C++ type hackery to ensures that the right
thing happens.  So you don't have to worry about % in statements like

  printMsg(lvlError, "foo: " + s);

or

  throw Error("foo: " + s);
2014-03-28 16:59:26 +01:00
config Add config.guess, config.sub and install-sh 2013-11-25 11:26:02 +00:00
corepkgs Remove Automakefiles 2014-02-01 13:54:38 +01:00
doc Document nix-env -q --json 2014-03-12 14:25:48 +01:00
misc Remove Automakefiles 2014-02-01 13:54:38 +01:00
mk Merge commit 'a210c995cdd9279ed4137ec5d2e4cc928cb36097' 2014-02-07 16:27:34 +01:00
perl Fix "make dist" 2014-02-01 14:38:12 +01:00
scripts nix-build: Fix --cores flag 2014-03-17 17:33:13 +01:00
src Don't interpret strings as format strings 2014-03-28 16:59:26 +01:00
tests If a dynamic attribute name evaluates to null, remove it from the set 2014-03-10 10:14:50 +01:00
.gitignore Generate release notes again 2014-03-12 14:24:29 +01:00
AUTHORS
bootstrap.sh
build.nix
configure.ac Build/install manual 2014-02-01 11:30:21 +01:00
COPYING
dev-shell Hack to clean up tests/test-tmp 2013-08-21 12:53:46 +02:00
INSTALL
local.mk Install missing Boost headers 2014-03-05 11:11:24 +01:00
Makefile Add download-via-ssh substituter 2014-02-08 00:13:33 -05:00
Makefile.config.in Generate release notes again 2014-03-12 14:24:29 +01:00
nix.spec.in Fix the RPM build 2014-02-07 17:36:04 +01:00
README
release.nix Generate release notes again 2014-03-12 14:24:29 +01:00
version Bump version number 2013-11-19 14:45:19 +01:00

Nix is a purely functional package manager.  For installation and
usage instructions, please read the manual, which can be found in
`docs/manual/manual.html', and additionally at the Nix website at
<http://nixos.org/>.


Acknowledgments

This product includes software developed by the OpenSSL Project for
use in the OpenSSL Toolkit (http://www.OpenSSL.org/).