diff --git a/dependency/libedit/build.sh b/dependency/libedit/build.sh index 6e0ff1d9690a3cbdc52a29ad55367c1ef03fd4e2..05a75bdc3552f35dff9acc19f97400f1af5186db 100644 --- a/dependency/libedit/build.sh +++ b/dependency/libedit/build.sh @@ -121,6 +121,7 @@ function build_component() { patch_for_build p0 ${SCRIPT_PATH}/${SOURCE_CODE_PATH}/src/terminal.c ${SCRIPT_PATH}/huawei_fix_core_while_move_cursor_in_long_history_sql.patch patch_for_build p1 ${SCRIPT_PATH}/huawei_fix_core_while_memory_alloc_failed_gsql.patch + patch_for_build p2 ${SCRIPT_PATH}/${SOURCE_CODE_PATH}/src/filecomplete.c ${SCRIPT_PATH}/huawei_fix_gsql_tab_complete_escape_problem.patch for COMPILE_TYPE in ${COMPLIE_TYPE_LIST}; do log "[Notice] double-conversion Begin configure..." diff --git a/dependency/libedit/huawei_fix_gsql_tab_complete_escape_problem.patch b/dependency/libedit/huawei_fix_gsql_tab_complete_escape_problem.patch new file mode 100644 index 0000000000000000000000000000000000000000..d6e9302a40ab1d8a6059b062038ae5a63b59b57c --- /dev/null +++ b/dependency/libedit/huawei_fix_gsql_tab_complete_escape_problem.patch @@ -0,0 +1,18 @@ +diff -uparN libedit-20190324-3.1_old/src/filecomplete.c libedit-20190324-3.1/src/filecomplete.c +--- libedit-20190324-3.1_old/src/filecomplete.c 2018-05-26 02:09:38.000000000 +0800 ++++ libedit-20190324-3.1/src/filecomplete.c 2020-09-03 15:28:38.968481060 +0800 +@@ -650,7 +650,12 @@ fn_complete(EditLine *el, + * it, unless we do filename completion and the + * object is a directory. Also do necessary escape quoting + */ +- char *escaped_completion = escape_filename(el, matches[0]); ++ char *escaped_completion = NULL; ++ if (!attempted_completion_function) { ++ escaped_completion = escape_filename(el, matches[0]); ++ } else { ++ escaped_completion = strdup(matches[0]); ++ } + if (escaped_completion == NULL) + goto out; + el_winsertstr(el, +