mirror of
https://github.com/neovim/neovim.git
synced 2025-09-18 17:28:23 +00:00
eval/*code,shada: Drop support for converting UTF-8 from/to p_enc
Not needed any longer since p_enc is always utf-8.
This commit is contained in:
@@ -222,8 +222,6 @@ static inline int json_decoder_pop(ValuesStackItem obj,
|
||||
|
||||
/// Parse JSON double-quoted string
|
||||
///
|
||||
/// @param[in] conv Defines conversion necessary to convert UTF-8 string to
|
||||
/// &encoding.
|
||||
/// @param[in] buf Buffer being converted.
|
||||
/// @param[in] buf_len Length of the buffer.
|
||||
/// @param[in,out] pp Pointer to the start of the string. Must point to '"'.
|
||||
@@ -240,8 +238,7 @@ static inline int json_decoder_pop(ValuesStackItem obj,
|
||||
/// value when decoder is restarted, otherwise unused.
|
||||
///
|
||||
/// @return OK in case of success, FAIL in case of error.
|
||||
static inline int parse_json_string(vimconv_T *const conv,
|
||||
const char *const buf, const size_t buf_len,
|
||||
static inline int parse_json_string(const char *const buf, const size_t buf_len,
|
||||
const char **const pp,
|
||||
ValuesStack *const stack,
|
||||
ContainerStack *const container_stack,
|
||||
@@ -416,20 +413,6 @@ static inline int parse_json_string(vimconv_T *const conv,
|
||||
}
|
||||
PUT_FST_IN_PAIR(fst_in_pair, str_end);
|
||||
#undef PUT_FST_IN_PAIR
|
||||
if (conv->vc_type != CONV_NONE) {
|
||||
size_t str_len = (size_t) (str_end - str);
|
||||
char *const new_str = (char *) string_convert(conv, (char_u *) str,
|
||||
&str_len);
|
||||
if (new_str == NULL) {
|
||||
emsgf(_("E474: Failed to convert string \"%.*s\" from UTF-8"),
|
||||
(int) str_len, str);
|
||||
xfree(str);
|
||||
goto parse_json_string_fail;
|
||||
}
|
||||
xfree(str);
|
||||
str = new_str;
|
||||
str_end = new_str + str_len;
|
||||
}
|
||||
if (hasnul) {
|
||||
typval_T obj;
|
||||
list_T *const list = tv_list_alloc();
|
||||
@@ -606,17 +589,6 @@ parse_json_number_ret:
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
/// Last used p_enc value
|
||||
///
|
||||
/// Generic pointer: it is not used as a string, only pointer comparisons are
|
||||
/// performed. Must not be freed.
|
||||
static const void *last_p_enc = NULL;
|
||||
|
||||
/// Conversion setup for converting from UTF-8 to last_p_enc
|
||||
static vimconv_T p_enc_conv = {
|
||||
.vc_type = CONV_NONE,
|
||||
};
|
||||
|
||||
/// Convert JSON string into VimL object
|
||||
///
|
||||
/// @param[in] buf String to convert. UTF-8 encoding is assumed.
|
||||
@@ -637,12 +609,7 @@ int json_decode_string(const char *const buf, const size_t buf_len,
|
||||
EMSG(_("E474: Attempt to decode a blank string"));
|
||||
return FAIL;
|
||||
}
|
||||
if (last_p_enc != (const void *)p_enc) {
|
||||
p_enc_conv.vc_type = CONV_NONE;
|
||||
convert_setup(&p_enc_conv, (char_u *)"utf-8", p_enc);
|
||||
p_enc_conv.vc_fail = true;
|
||||
last_p_enc = p_enc;
|
||||
}
|
||||
assert(STRCMP(p_enc, "utf-8") == 0);
|
||||
int ret = OK;
|
||||
ValuesStack stack = KV_INITIAL_VALUE;
|
||||
ContainerStack container_stack = KV_INITIAL_VALUE;
|
||||
@@ -789,7 +756,7 @@ json_decode_string_cycle_start:
|
||||
}
|
||||
case '"': {
|
||||
if (parse_json_string(
|
||||
&p_enc_conv, buf, buf_len, &p, &stack, &container_stack,
|
||||
buf, buf_len, &p, &stack, &container_stack,
|
||||
&next_map_special, &didcomma, &didcolon) == FAIL) {
|
||||
// Error message was already given
|
||||
goto json_decode_string_fail;
|
||||
|
Reference in New Issue
Block a user