A modern, delicious implementation of the Nix package manager, focused on correctness, usability, and growth — and committed to doing right by its community https://lix.systems
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 * Put something in here. 2004-11-07 20:30:02 +00:00
bootstrap.sh bootstrap: Simplify & make more robust. 2011-09-06 12:11:05 +00:00
build.nix Add an experimental nix-make file 2012-05-21 09:43:01 -04:00
configure.ac Build/install manual 2014-02-01 11:30:21 +01:00
COPYING * Change this to LGPL to keep the government happy. 2006-04-25 16:41:06 +00:00
dev-shell Hack to clean up tests/test-tmp 2013-08-21 12:53:46 +02:00
INSTALL * Autoconf / Automake configuration and building. 2003-04-04 16:14:56 +00:00
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 * Install documentation in $(docdir) (i.e. share/doc/nix). 2008-11-19 13:19:09 +00:00
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/).