Lines Matching refs:varp
53 free_tv(typval_T *varp) in free_tv() argument
55 if (varp != NULL) in free_tv()
57 switch (varp->v_type) in free_tv()
60 func_unref(varp->vval.v_string); in free_tv()
63 vim_free(varp->vval.v_string); in free_tv()
66 partial_unref(varp->vval.v_partial); in free_tv()
69 blob_unref(varp->vval.v_blob); in free_tv()
72 list_unref(varp->vval.v_list); in free_tv()
75 dict_unref(varp->vval.v_dict); in free_tv()
79 job_unref(varp->vval.v_job); in free_tv()
84 channel_unref(varp->vval.v_channel); in free_tv()
97 vim_free(varp); in free_tv()
105 clear_tv(typval_T *varp) in clear_tv() argument
107 if (varp != NULL) in clear_tv()
109 switch (varp->v_type) in clear_tv()
112 func_unref(varp->vval.v_string); in clear_tv()
115 VIM_CLEAR(varp->vval.v_string); in clear_tv()
118 partial_unref(varp->vval.v_partial); in clear_tv()
119 varp->vval.v_partial = NULL; in clear_tv()
122 blob_unref(varp->vval.v_blob); in clear_tv()
123 varp->vval.v_blob = NULL; in clear_tv()
126 list_unref(varp->vval.v_list); in clear_tv()
127 varp->vval.v_list = NULL; in clear_tv()
130 dict_unref(varp->vval.v_dict); in clear_tv()
131 varp->vval.v_dict = NULL; in clear_tv()
136 varp->vval.v_number = 0; in clear_tv()
140 varp->vval.v_float = 0.0; in clear_tv()
145 job_unref(varp->vval.v_job); in clear_tv()
146 varp->vval.v_job = NULL; in clear_tv()
151 channel_unref(varp->vval.v_channel); in clear_tv()
152 varp->vval.v_channel = NULL; in clear_tv()
156 VIM_CLEAR(varp->vval.v_instr); in clear_tv()
163 varp->v_lock = 0; in clear_tv()
171 init_tv(typval_T *varp) in init_tv() argument
173 if (varp != NULL) in init_tv()
174 CLEAR_POINTER(varp); in init_tv()
178 tv_get_bool_or_number_chk(typval_T *varp, int *denote, int want_bool) in tv_get_bool_or_number_chk() argument
182 switch (varp->v_type) in tv_get_bool_or_number_chk()
185 if (in_vim9script() && want_bool && varp->vval.v_number != 0 in tv_get_bool_or_number_chk()
186 && varp->vval.v_number != 1) in tv_get_bool_or_number_chk()
188 semsg(_(e_using_number_as_bool_nr), varp->vval.v_number); in tv_get_bool_or_number_chk()
191 return varp->vval.v_number; in tv_get_bool_or_number_chk()
204 emsg_using_string_as(varp, !want_bool); in tv_get_bool_or_number_chk()
207 if (varp->vval.v_string != NULL) in tv_get_bool_or_number_chk()
208 vim_str2nr(varp->vval.v_string, NULL, NULL, in tv_get_bool_or_number_chk()
221 if (varp->v_type == VAR_BOOL) in tv_get_bool_or_number_chk()
227 return varp->vval.v_number == VVAL_TRUE ? 1 : 0; in tv_get_bool_or_number_chk()
266 tv_get_number(typval_T *varp) in tv_get_number() argument
270 return tv_get_number_chk(varp, &error); // return 0L on error in tv_get_number()
274 tv_get_number_chk(typval_T *varp, int *denote) in tv_get_number_chk() argument
276 return tv_get_bool_or_number_chk(varp, denote, FALSE); in tv_get_number_chk()
284 tv_get_bool(typval_T *varp) in tv_get_bool() argument
286 return tv_get_bool_or_number_chk(varp, NULL, TRUE); in tv_get_bool()
294 tv_get_bool_chk(typval_T *varp, int *denote) in tv_get_bool_chk() argument
296 return tv_get_bool_or_number_chk(varp, denote, TRUE); in tv_get_bool_chk()
301 tv_get_float(typval_T *varp) in tv_get_float() argument
303 switch (varp->v_type) in tv_get_float()
306 return (float_T)(varp->vval.v_number); in tv_get_float()
308 return varp->vval.v_float; in tv_get_float()
866 tv_get_string(typval_T *varp) in tv_get_string() argument
870 return tv_get_string_buf(varp, mybuf); in tv_get_string()
877 tv_get_string_strict(typval_T *varp) in tv_get_string_strict() argument
881 varp, mybuf, in_vim9script()); in tv_get_string_strict()
887 tv_get_string_buf(typval_T *varp, char_u *buf) in tv_get_string_buf() argument
889 char_u *res = tv_get_string_buf_chk(varp, buf); in tv_get_string_buf()
898 tv_get_string_chk(typval_T *varp) in tv_get_string_chk() argument
902 return tv_get_string_buf_chk(varp, mybuf); in tv_get_string_chk()
906 tv_get_string_buf_chk(typval_T *varp, char_u *buf) in tv_get_string_buf_chk() argument
908 return tv_get_string_buf_chk_strict(varp, buf, FALSE); in tv_get_string_buf_chk()
912 tv_get_string_buf_chk_strict(typval_T *varp, char_u *buf, int strict) in tv_get_string_buf_chk_strict() argument
914 switch (varp->v_type) in tv_get_string_buf_chk_strict()
923 (varnumber_T)varp->vval.v_number); in tv_get_string_buf_chk_strict()
942 vim_snprintf((char *)buf, NUMBUFLEN, "%g", varp->vval.v_float); in tv_get_string_buf_chk_strict()
946 if (varp->vval.v_string != NULL) in tv_get_string_buf_chk_strict()
947 return varp->vval.v_string; in tv_get_string_buf_chk_strict()
951 STRCPY(buf, get_var_special_name(varp->vval.v_number)); in tv_get_string_buf_chk_strict()
963 return job_to_string_buf(varp, buf); in tv_get_string_buf_chk_strict()
973 return channel_to_string_buf(varp, buf); in tv_get_string_buf_chk_strict()
983 vartype_name(varp->v_type)); in tv_get_string_buf_chk_strict()
994 tv_stringify(typval_T *varp, char_u *buf) in tv_stringify() argument
996 if (varp->v_type == VAR_LIST in tv_stringify()
997 || varp->v_type == VAR_DICT in tv_stringify()
998 || varp->v_type == VAR_BLOB in tv_stringify()
999 || varp->v_type == VAR_FUNC in tv_stringify()
1000 || varp->v_type == VAR_PARTIAL in tv_stringify()
1001 || varp->v_type == VAR_FLOAT) in tv_stringify()
1005 f_string(varp, &tmp); in tv_stringify()
1007 clear_tv(varp); in tv_stringify()
1008 *varp = tmp; in tv_stringify()
1011 return tv_get_string_buf(varp, buf); in tv_stringify()