On 2023/10/07 16:48, lijiang wrote:
On Fri, Sep 29, 2023 at 12:30 PM HAGIO KAZUHITO(萩尾 一仁)
<k-hagio-ab(a)nec.com>
wrote:
> On 2023/09/29 9:58, Shijie Huang wrote:
>> Hi Kazu,
>>
>> 在 2023/9/29 8:44, HAGIO KAZUHITO(萩尾 一仁) 写道:
>>> On 2023/09/21 11:00, Huang Shijie wrote:
>>>> Add the clear command for crash.
>>>> Use it to clear the screen.
>>> Sorry, but I would not like to add a command just to do this.
>>
>> My final purpose is to use 'alias' to map the command to 'c':
>>
>> alias c clear
>>
>
> Ah, got it. External commands cannot be used as a command for alias, so
> I added it exceptionally.
>
> Lianbo, is this OK?
>
>
Sorry for the late reply.
This seems acceptable. But I just have one question, please see the comment
below.
> From c9dc09e9c3e9b51664c555fd6dda71999c193ca8 Mon Sep 17 00:00:00 2001
> From: Kazuhito Hagio <k-hagio-ab(a)nec.com>
> Date: Fri, 29 Sep 2023 11:58:04 +0900
> Subject: [PATCH] Make "clear" external command runnable without
"!" and
> alias-able
>
> Make the "clear" external command runnable without an exclamation point
> ("!") for convenient. Additionally, make it acceptable as a command
> string for alias exceptionally in external commands.
>
> Signed-off-by: Kazuhito Hagio <k-hagio-ab(a)nec.com>
> ---
> cmdline.c | 4 ++++
> main.c | 3 ++-
> 2 files changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/cmdline.c b/cmdline.c
> index b7f919ae2279..65da04cbf9a5 100644
> --- a/cmdline.c
> +++ b/cmdline.c
> @@ -1833,6 +1833,10 @@ allocate_alias(int origin)
> if (get_command_table_entry(args[2]))
> found = TRUE;
>
> + /* Accept the "clear" external command exceptionally. */
> + if (STREQ(args[2], "clear"))
> + found = TRUE;
>
I added the debugging info here:
+ error(INFO, "args1->%s, args2->%s\n",args[1], args[2]);
+ /* Accept the "clear" external command exceptionally. */
+ if (STREQ(args[2], "clear"))
+ found = TRUE;
And I did not see any output information with the string "clear".
The variable 'found' won't be set to 'TRUE' unless it is initialized
in the
alias_init() such as the "lsmod", right?
No. sorry, maybe I don't get your question... but this hunk is for
something like:
crash> alias c clear
alias: args1->c, args2->clear
ORIGIN ALIAS COMMAND
runtime c clear
crash> c
(I can confirm that the screen is cleared.)
I don't intend to have it as a builtin alias.
Hope this help.
Thanks,
Kazu
>
> Other changes are fine to me.
>
> Thanks.
> Lianbo
>
> +
>> if (!found) {
>> if (!strlen(args[2])) {
>> if (alias_exists(args[1])) {
>> diff --git a/main.c b/main.c
>> index 0c6e5958f3ad..4fd4ca57dbb2 100644
>> --- a/main.c
>> +++ b/main.c
>> @@ -1043,7 +1043,8 @@ is_external_command(void)
>> STREQ(cmd, "more") ||
>> STREQ(cmd, "less") ||
>> STREQ(cmd, "echo") ||
>> - STREQ(cmd, "ls")) {
>> + STREQ(cmd, "ls") ||
>> + STREQ(cmd, "clear")) {
>> sprintf(command, "%s", cmd);
>> for (i = 1; i < argcnt; i++) {
>> strcat(command, " ");
>> --
>> 2.31.1
>>
>>
>>
>> On Fri, Sep 29, 2023 at 12:30 PM HAGIO KAZUHITO(萩尾 一仁)
>> <k-hagio-ab(a)nec.com <mailto:k-hagio-ab@nec.com>> wrote:
>>
>> On 2023/09/29 9:58, Shijie Huang wrote:
>> > Hi Kazu,
>> >
>> > 在 2023/9/29 8:44, HAGIO KAZUHITO(萩尾 一仁) 写道:
>> >> On 2023/09/21 11:00, Huang Shijie wrote:
>> >>> Add the clear command for crash.
>> >>> Use it to clear the screen.
>> >> Sorry, but I would not like to add a command just to do this.
>> >
>> > My final purpose is to use 'alias' to map the command to
'c':
>> >
>> > alias c clear
>> >
>>
>> Ah, got it. External commands cannot be used as a command for
>> alias, so
>> I added it exceptionally.
>>
>> Lianbo, is this OK?
>>
>> Sorry for the late reply.
>>
>> This seems acceptable. But I just have one question, please see the
>> comment below.
>>
>>
>> From c9dc09e9c3e9b51664c555fd6dda71999c193ca8 Mon Sep 17 00:00:00
>> 2001
>> From: Kazuhito Hagio <k-hagio-ab(a)nec.com
<mailto:k-hagio-ab@nec.com>>
>> Date: Fri, 29 Sep 2023 11:58:04 +0900
>> Subject: [PATCH] Make "clear" external command runnable without
>> "!" and
>> alias-able
>>
>> Make the "clear" external command runnable without an exclamation
>> point
>> ("!") for convenient. Additionally, make it acceptable as a
command
>> string for alias exceptionally in external commands.
>>
>> Signed-off-by: Kazuhito Hagio <k-hagio-ab(a)nec.com
>> <mailto:k-hagio-ab@nec.com>>
>> ---
>> cmdline.c | 4 ++++
>> main.c | 3 ++-
>> 2 files changed, 6 insertions(+), 1 deletion(-)
>>
>> diff --git a/cmdline.c b/cmdline.c
>> index b7f919ae2279..65da04cbf9a5 100644
>> --- a/cmdline.c
>> +++ b/cmdline.c
>> @@ -1833,6 +1833,10 @@ allocate_alias(int origin)
>> if (get_command_table_entry(args[2]))
>> found = TRUE;
>>
>> + /* Accept the "clear" external command exceptionally. */
>> + if (STREQ(args[2], "clear"))
>> + found = TRUE;
>>
>> I added the debugging info here:
>>
>> + error(INFO, "args1->%s, args2->%s\n",args[1],
args[2]);
>> + /* Accept the "clear" external command exceptionally. */
>> + if (STREQ(args[2], "clear"))
>> + found = TRUE;
>>
>> And I did not see any output information with the string "clear".
>> The variable 'found' won't be set to 'TRUE' unless it is
initialized
>> in the alias_init() such as the "lsmod", right?
>> Other changes are fine to me.
>>
>> Thanks.
>> Lianbo
>>
>> +
>> if (!found) {
>> if (!strlen(args[2])) {
>> if (alias_exists(args[1])) {
>> diff --git a/main.c b/main.c
>> index 0c6e5958f3ad..4fd4ca57dbb2 100644
>> --- a/main.c
>> +++ b/main.c
>> @@ -1043,7 +1043,8 @@ is_external_command(void)
>> STREQ(cmd, "more") ||
>> STREQ(cmd, "less") ||
>> STREQ(cmd, "echo") ||
>> - STREQ(cmd, "ls")) {
>> + STREQ(cmd, "ls") ||
>> + STREQ(cmd, "clear")) {
>> sprintf(command, "%s", cmd);
>> for (i = 1; i < argcnt; i++) {
>> strcat(command, " ");
>> --
>> 2.31.1
>>