aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/option.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/option.c')
-rw-r--r--src/nvim/option.c83
1 files changed, 35 insertions, 48 deletions
diff --git a/src/nvim/option.c b/src/nvim/option.c
index 49abc62c89..33d146161b 100644
--- a/src/nvim/option.c
+++ b/src/nvim/option.c
@@ -2089,7 +2089,8 @@ void set_init_1(void)
p = (char_u *)_(*(char **)options[opt_idx].var);
else
p = option_expand(opt_idx, NULL);
- if (p != NULL && (p = vim_strsave(p)) != NULL) {
+ if (p != NULL) {
+ p = vim_strsave(p);
*(char_u **)options[opt_idx].var = p;
/* VIMEXP
* Defaults for all expanded options are currently the same for Vi
@@ -2278,14 +2279,12 @@ void set_string_default(char *name, char_u *val)
int opt_idx;
p = vim_strsave(val);
- if (p != NULL) { /* we don't want a NULL */
- opt_idx = findoption((char_u *)name);
- if (opt_idx >= 0) {
- if (options[opt_idx].flags & P_DEF_ALLOCED)
- free(options[opt_idx].def_val[VI_DEFAULT]);
- options[opt_idx].def_val[VI_DEFAULT] = p;
- options[opt_idx].flags |= P_DEF_ALLOCED;
- }
+ opt_idx = findoption((char_u *)name);
+ if (opt_idx >= 0) {
+ if (options[opt_idx].flags & P_DEF_ALLOCED)
+ free(options[opt_idx].def_val[VI_DEFAULT]);
+ options[opt_idx].def_val[VI_DEFAULT] = p;
+ options[opt_idx].flags |= P_DEF_ALLOCED;
}
}
@@ -2450,7 +2449,7 @@ void set_init_3(void)
p1 = p2 + 1;
p = vim_strnsave(p1, (int)(p - p1));
}
- if (p != NULL) {
+ {
/*
* Default for p_sp is "| tee", for p_srr is ">".
* For known shells it is changed here to include stderr.
@@ -2506,16 +2505,12 @@ void set_helplang_default(char_u *lang)
if (options[idx].flags & P_ALLOCED)
free_string_option(p_hlg);
p_hlg = vim_strsave(lang);
- if (p_hlg == NULL)
- p_hlg = empty_option;
- else {
- /* zh_CN becomes "cn", zh_TW becomes "tw". */
- if (STRNICMP(p_hlg, "zh_", 3) == 0 && STRLEN(p_hlg) >= 5) {
- p_hlg[0] = TOLOWER_ASC(p_hlg[3]);
- p_hlg[1] = TOLOWER_ASC(p_hlg[4]);
- }
- p_hlg[2] = NUL;
+ /* zh_CN becomes "cn", zh_TW becomes "tw". */
+ if (STRNICMP(p_hlg, "zh_", 3) == 0 && STRLEN(p_hlg) >= 5) {
+ p_hlg[0] = TOLOWER_ASC(p_hlg[3]);
+ p_hlg[1] = TOLOWER_ASC(p_hlg[4]);
}
+ p_hlg[2] = NUL;
options[idx].flags |= P_ALLOCED;
}
}
@@ -3075,7 +3070,7 @@ do_set (
newlen = (unsigned)STRLEN(arg) + 1;
if (adding || prepending || removing)
newlen += (unsigned)STRLEN(origval) + 1;
- newval = alloc(newlen);
+ newval = xmalloc(newlen);
s = newval;
/*
@@ -3121,7 +3116,7 @@ do_set (
newlen = (unsigned)STRLEN(s) + 1;
if (adding || prepending || removing)
newlen += (unsigned)STRLEN(origval) + 1;
- newval = alloc(newlen);
+ newval = xmalloc(newlen);
STRCPY(newval, s);
}
}
@@ -3739,7 +3734,7 @@ set_string_option_direct (
return;
s = vim_strsave(val);
- if (s != NULL) {
+ {
varp = (char_u **)get_varp_scope(&(options[idx]),
both ? OPT_LOCAL : opt_flags);
if ((opt_flags & OPT_FREE) && (options[idx].flags & P_ALLOCED))
@@ -3780,9 +3775,8 @@ set_string_option_global (
p = (char_u **)GLOBAL_WO(varp);
else
p = (char_u **)options[opt_idx].var;
- if (options[opt_idx].indir != PV_NONE
- && p != varp
- && (s = vim_strsave(*varp)) != NULL) {
+ if (options[opt_idx].indir != PV_NONE && p != varp) {
+ s = vim_strsave(*varp);
free_string_option(*p);
*p = s;
}
@@ -3809,18 +3803,17 @@ set_string_option (
return NULL;
s = vim_strsave(value);
- if (s != NULL) {
- varp = (char_u **)get_varp_scope(&(options[opt_idx]),
- (opt_flags & (OPT_LOCAL | OPT_GLOBAL)) == 0
- ? (((int)options[opt_idx].indir & PV_BOTH)
- ? OPT_GLOBAL : OPT_LOCAL)
- : opt_flags);
- oldval = *varp;
- *varp = s;
- if ((r = did_set_string_option(opt_idx, varp, TRUE, oldval, NULL,
- opt_flags)) == NULL)
- did_set_option(opt_idx, opt_flags, TRUE);
- }
+ varp = (char_u **)get_varp_scope(&(options[opt_idx]),
+ (opt_flags & (OPT_LOCAL | OPT_GLOBAL)) == 0
+ ? (((int)options[opt_idx].indir & PV_BOTH)
+ ? OPT_GLOBAL : OPT_LOCAL)
+ : opt_flags);
+ oldval = *varp;
+ *varp = s;
+ if ((r = did_set_string_option(opt_idx, varp, TRUE, oldval, NULL,
+ opt_flags)) == NULL)
+ did_set_option(opt_idx, opt_flags, TRUE);
+
return r;
}
@@ -4768,7 +4761,7 @@ skip:
if (count == 0)
wp->w_p_cc_cols = NULL;
else {
- wp->w_p_cc_cols = (int *)alloc((unsigned)sizeof(int) * (count + 1));
+ wp->w_p_cc_cols = xmalloc(sizeof(int) * (count + 1));
/* sort the columns for faster usage on screen redraw inside
* win_line() */
qsort(color_cols, count, sizeof(int), int_cmp);
@@ -6139,7 +6132,6 @@ showoptions (
int col;
int isterm;
char_u *varp;
- struct vimoption **items;
int item_count;
int run;
int row, rows;
@@ -6150,8 +6142,7 @@ showoptions (
#define INC 20
#define GAP 3
- items = (struct vimoption **)alloc((unsigned)(sizeof(struct vimoption *) *
- PARAM_COUNT));
+ struct vimoption **items = xmalloc(sizeof(struct vimoption *) * PARAM_COUNT);
/* Highlight title */
if (all == 2)
@@ -6440,7 +6431,7 @@ static int put_setstring(FILE *fd, char *cmd, char *name, char_u **valuep, int e
if (put_escstr(fd, str2special(&s, FALSE), 2) == FAIL)
return FAIL;
} else if (expand) {
- buf = alloc(MAXPATHL);
+ buf = xmalloc(MAXPATHL);
home_replace(NULL, *valuep, buf, MAXPATHL, FALSE);
if (put_escstr(fd, buf, 2) == FAIL) {
free(buf);
@@ -7454,11 +7445,7 @@ int ExpandSettings(expand_T *xp, regmatch_T *regmatch, int *num_file, char_u ***
*num_file = num_term;
else
return OK;
- *file = (char_u **)alloc((unsigned)(*num_file * sizeof(char_u *)));
- if (*file == NULL) {
- *file = (char_u **)"";
- return FAIL;
- }
+ *file = (char_u **)xmalloc(*num_file * sizeof(char_u *));
}
}
return OK;
@@ -7470,7 +7457,7 @@ int ExpandOldSetting(int *num_file, char_u ***file)
char_u *buf;
*num_file = 0;
- *file = (char_u **)alloc((unsigned)sizeof(char_u *));
+ *file = (char_u **)xmalloc(sizeof(char_u *));
/*
* For a terminal key code expand_option_idx is < 0.