if (home == 0)
if (home == 0 || *home == '\0')
history_filename (filename)     char *filename;{  char *return_val, *home;  int home_len;  return_val = filename ? savestring (filename) : (char *)NULL;  if (return_val)    return (return_val);    home = get_env_value ("HOME");  if (home == 0)    {      home = ".";      home_len = 1;    }  else    home_len = strlen (home);  return_val = xmalloc (2 + home_len + 8); /* strlen(".history") == 8 */  strcpy (return_val, home);  return_val[home_len] = '/';#if defined (__MSDOS__)  strcpy (return_val + home_len + 1, "_history");#else  strcpy (return_val + home_len + 1, ".history");#endif  return (return_val);}