From f377db90810ce93435e0bbe965c00ff52b8a2caa Mon Sep 17 00:00:00 2001 From: wangmengc Date: Wed, 16 Aug 2023 08:31:05 +0800 Subject: [PATCH] fix mapfile -d --- bash-5.1/builtins_rust/enable/src/lib.rs | 2 +- bash-5.1/lib/sh/zgetline.c | 4 ++-- record.txt | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/bash-5.1/builtins_rust/enable/src/lib.rs b/bash-5.1/builtins_rust/enable/src/lib.rs index 486461a..b0386c9 100644 --- a/bash-5.1/builtins_rust/enable/src/lib.rs +++ b/bash-5.1/builtins_rust/enable/src/lib.rs @@ -293,7 +293,7 @@ unsafe extern "C" fn list_some_builtins(mut filter: libc::c_int) { & BUILTIN_ENABLED == 0 as libc::c_int { let name= unsafe{CStr::from_ptr((*shell_builtins.offset(i as isize)).name)}; - println!("!!enable -n {}", name.to_str().expect("name cannot trans")); + println!("enable -n {}", name.to_str().expect("name cannot trans")); } } diff --git a/bash-5.1/lib/sh/zgetline.c b/bash-5.1/lib/sh/zgetline.c index 8ded144..4f6d3eb 100644 --- a/bash-5.1/lib/sh/zgetline.c +++ b/bash-5.1/lib/sh/zgetline.c @@ -70,7 +70,6 @@ zgetline (fd, lineptr, n, delim, unbuffered_read) { int nr, retval; char *line, c; - if (lineptr == 0 || n == 0 || (*lineptr == 0 && *n != 0)) return -1; @@ -79,7 +78,8 @@ zgetline (fd, lineptr, n, delim, unbuffered_read) while (1) { - retval = unbuffered_read ? zread (fd, &c, 1) : zreadc(fd, &c); + //retval = unbuffered_read ? zread (fd, &c, 1) : zreadc(fd, &c); + retval = unbuffered_read ? zreadc(fd, &c) : zreadc(fd, &c); //修复mapfile使用-d参数时执行多余输入问题 if (retval <= 0) { diff --git a/record.txt b/record.txt index a7fa9ff..285a068 100644 --- a/record.txt +++ b/record.txt @@ -114,3 +114,4 @@ 113 114 115 +116 -- Gitee