summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2009-12-01 16:19:14 -0800
committerSage Weil <sage@newdream.net>2009-12-01 16:19:19 -0800
commit9b5b0f9a4785092832c49e5690f4f230f242bea5 (patch)
treef4c358a96be572c33071ef0445fb8df9a3315bdb
parentdefeedb545aa548c8f88830271bb775778026237 (diff)
downloadceph-9b5b0f9a4785092832c49e5690f4f230f242bea5.tar.gz
config: preserve argv[0] if appropriate
This makes 'cfuse' show up in 'df' output.
-rw-r--r--src/config.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/config.cc b/src/config.cc
index 6e6fb95fafd..08898beb758 100644
--- a/src/config.cc
+++ b/src/config.cc
@@ -171,9 +171,12 @@ void argv_to_deq(int argc, const char **argv,
void vec_to_argv(std::vector<const char*>& args,
int& argc, const char **&argv)
{
+ const char *myname = "asdf";
+ if (argc && argv)
+ myname = argv[0];
argv = (const char**)malloc(sizeof(char*) * argc);
argc = 1;
- argv[0] = "asdf";
+ argv[0] = myname;
for (unsigned i=0; i<args.size(); i++)
argv[argc++] = args[i];