string += end;
expansion = tilde_expand_word (tilde_word);
- xfree (tilde_word);
+
+ if (expansion == 0)
+ expansion = tilde_word;
+ else
+ xfree (tilde_word);
len = strlen (expansion);
#ifdef __CYGWIN__
{
/* Prefix $HOME to the rest of the string. */
expansion = sh_get_env_value ("HOME");
-#ifdef _WIN32
- if (!expansion)
+#if defined (_WIN32)
+ if (expansion == 0)
expansion = sh_get_env_value ("APPDATA");
#endif