comparison src/eval.c @ 3499:454646820185 v7.3.512

updated for version 7.3.512 Problem: undofile() returns a useless name when passed an empty string. Solution: Return an empty string. (Christian Brabandt)
author Bram Moolenaar <bram@vim.org>
date Mon, 30 Apr 2012 17:35:48 +0200
parents 2722f11ddc99
children 02440d1fcc9a
comparison
equal deleted inserted replaced
3498:d36e92c7c98a 3499:454646820185
18257 typval_T *rettv; 18257 typval_T *rettv;
18258 { 18258 {
18259 rettv->v_type = VAR_STRING; 18259 rettv->v_type = VAR_STRING;
18260 #ifdef FEAT_PERSISTENT_UNDO 18260 #ifdef FEAT_PERSISTENT_UNDO
18261 { 18261 {
18262 char_u *ffname = FullName_save(get_tv_string(&argvars[0]), FALSE); 18262 char_u *fname = get_tv_string(&argvars[0]);
18263 18263
18264 if (ffname != NULL) 18264 if (*fname == NUL)
18265 rettv->vval.v_string = u_get_undo_file_name(ffname, FALSE); 18265 {
18266 vim_free(ffname); 18266 /* If there is no file name there will be no undo file. */
18267 rettv->vval.v_string = NULL;
18268 }
18269 else
18270 {
18271 char_u *ffname = FullName_save(fname, FALSE);
18272
18273 if (ffname != NULL)
18274 rettv->vval.v_string = u_get_undo_file_name(ffname, FALSE);
18275 vim_free(ffname);
18276 }
18267 } 18277 }
18268 #else 18278 #else
18269 rettv->vval.v_string = NULL; 18279 rettv->vval.v_string = NULL;
18270 #endif 18280 #endif
18271 } 18281 }