daemon: Correctly handle '--discover' with no value.
authorLudovic Courtès <ludo@gnu.org>
Tue, 16 Mar 2021 21:34:57 +0000 (22:34 +0100)
committerLudovic Courtès <ludo@gnu.org>
Wed, 17 Mar 2021 11:03:23 +0000 (12:03 +0100)
Previously, we'd get:

  $ guix-daemon --discover
  error: basic_string::_M_construct null not valid

* nix/nix-daemon/guix-daemon.cc (parse_opt): Change second argument to
'settings.set' to properly handle case where ARG is NULL.

nix/nix-daemon/guix-daemon.cc

index 30d0e5d..36a06a3 100644 (file)
@@ -1,5 +1,5 @@
 /* GNU Guix --- Functional package management for GNU
-   Copyright (C) 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
+   Copyright (C) 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2021 Ludovic Courtès <ludo@gnu.org>
    Copyright (C) 2006, 2010, 2012, 2014 Eelco Dolstra <e.dolstra@tudelft.nl>
 
    This file is part of GNU Guix.
@@ -268,7 +268,7 @@ parse_opt (int key, char *arg, struct argp_state *state)
       break;
     case GUIX_OPT_DISCOVER:
       useDiscover = string_to_bool (arg);
-      settings.set("discover", arg);
+      settings.set ("discover", useDiscover ? "true" : "false");
       break;
     case GUIX_OPT_DEBUG:
       verbosity = lvlDebug;