Simplify the getenv use and handle the empty $HOME case
authorThiago Macieira <thiago.macieira@intel.com>
Sat, 29 Dec 2012 23:37:01 +0000 (21:37 -0200)
committerThiago Macieira <thiago.macieira@intel.com>
Thu, 31 Jan 2013 23:49:18 +0000 (00:49 +0100)
commit281f246980af700421adfec15797eed36e1edd74
tree8362a497f1497e7ac6386ad928af7cecd592b908
parent8e5e765eae4af7a2cf68da07d999e1c62d196e4a
Simplify the getenv use and handle the empty $HOME case

getenv(3) can return NULL if the variable isn't set. Some Standard
Library implementations (like Clang's libc++) do not like a NULL as
the argument to std::string's constructor, which is why the code is so
convoluted as it is. Instead, simplify the code by having a getenv
wrapper that has a default value.

And handle the case of the empty $HOME: currently, if it isn't set,
the application would crash. Instead, use getpwuid as a fallback.

Change-Id: I0185dbc7b026a5978b678207b31de90cba531623
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
src/qtchooser/main.cpp