Mercurial > vim
comparison src/misc1.c @ 3658:e82937b753a8 v7.3.589
updated for version 7.3.589
Problem: Crash when $HOME is not set.
Solution: Check for a NULL pointer. (Chris Webb)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Fri, 06 Jul 2012 16:49:40 +0200 |
parents | 7e3fedfc3d08 |
children | 2b4b6185054f |
comparison
equal
deleted
inserted
replaced
3657:e024aadde309 | 3658:e82937b753a8 |
---|---|
4494 #ifdef VMS | 4494 #ifdef VMS |
4495 homedir_env_orig = homedir_env = mch_getenv((char_u *)"SYS$LOGIN"); | 4495 homedir_env_orig = homedir_env = mch_getenv((char_u *)"SYS$LOGIN"); |
4496 #else | 4496 #else |
4497 homedir_env_orig = homedir_env = mch_getenv((char_u *)"HOME"); | 4497 homedir_env_orig = homedir_env = mch_getenv((char_u *)"HOME"); |
4498 #endif | 4498 #endif |
4499 /* Empty is the same as not set. */ | |
4500 if (homedir_env != NULL && *homedir_env == NUL) | |
4501 homedir_env = NULL; | |
4502 | |
4499 #if defined(FEAT_MODIFY_FNAME) || defined(WIN3264) | 4503 #if defined(FEAT_MODIFY_FNAME) || defined(WIN3264) |
4500 if (vim_strchr(homedir_env, '~') != NULL) | 4504 if (homedir_env != NULL && vim_strchr(homedir_env, '~') != NULL) |
4501 { | 4505 { |
4502 int usedlen = 0; | 4506 int usedlen = 0; |
4503 int flen; | 4507 int flen; |
4504 char_u *fbuf = NULL; | 4508 char_u *fbuf = NULL; |
4505 | 4509 |
4511 /* Remove the trailing / that is added to a directory. */ | 4515 /* Remove the trailing / that is added to a directory. */ |
4512 homedir_env[flen - 1] = NUL; | 4516 homedir_env[flen - 1] = NUL; |
4513 } | 4517 } |
4514 #endif | 4518 #endif |
4515 | 4519 |
4516 if (homedir_env != NULL && *homedir_env == NUL) | |
4517 homedir_env = NULL; | |
4518 if (homedir_env != NULL) | 4520 if (homedir_env != NULL) |
4519 envlen = STRLEN(homedir_env); | 4521 envlen = STRLEN(homedir_env); |
4520 | 4522 |
4521 if (!one) | 4523 if (!one) |
4522 src = skipwhite(src); | 4524 src = skipwhite(src); |