2003-12-03 Marco Gerards <metgerards@student.han.nl>
* fs/ext2.c (pupa_ext2_label): New function. (pupa_ext2_fs): Added label. * fs/fat.c (pupa_fat_label): New function. (pupa_fat_fs): Added label. * include/pupa/fs.h (struct pupa_fs): Added prototype label. * kern/misc.c (pupa_strndup): New function. * include/pupa/misc.h (pupa_strndup): New prototype. * include/pupa/normal.h: Include <pupa/err.h>. (pupa_set_history): New prototype. (pupa_iterate_commands): New prototype. * normal/cmdline.c: Include <pupa/machine/partition.h>, <pupa/disk.h>, <pupa/file.h>. (hist_size): New variable. (hist_lines): Likewise. (hist_end): Likewise. (hist_used): Likewise. (pupa_set_history): New function. (pupa_history_get): Likewise. (pupa_history_add): Likewise. (pupa_history_replace): Likewise. (pupa_tab_complete): Likewise. (pupa_cmdline_run): Added tab completion and history buffer. Tab completion shows partitionnames while completing partitions, this feature was suggested by Jeff Bailey. * normal/command.c (pupa_iterate_commands): New function. * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro. (pupa_normal_init): Initialize history buffer. (PUPA_MOD_INIT): Likewise. (pupa_normal_fini): Free the history buffer. (PUPA_MOD_FINI): Likewise. * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace key. * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN. * configure.ac [i386]: Check for regparam bug. (NESTED_FUNC_ATTR) [! i386]: Defined.
This commit is contained in:
parent
1f7315a3de
commit
5aded270b6
15 changed files with 793 additions and 6 deletions
|
@ -3,6 +3,7 @@
|
|||
* PUPA -- Preliminary Universal Programming Architecture for GRUB
|
||||
* Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
|
||||
* Copyright (C) 2002,2003 Yoshinori K. Okuji <okuji@enbug.org>
|
||||
* Copyright (C) 2003 Marco Gerards <metgerards@student.han.nl>.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
@ -30,6 +31,8 @@
|
|||
|
||||
pupa_jmp_buf pupa_exit_env;
|
||||
|
||||
#define PUPA_DEFAULT_HISTORY_SIZE 50
|
||||
|
||||
/* Read a line from the file FILE. */
|
||||
static int
|
||||
get_line (pupa_file_t file, char cmdline[], int max_len)
|
||||
|
@ -332,11 +335,12 @@ pupa_rescue_cmd_normal (int argc, char *argv[])
|
|||
pupa_enter_normal_mode (argv[0]);
|
||||
}
|
||||
|
||||
|
||||
#ifdef PUPA_UTIL
|
||||
void
|
||||
pupa_normal_init (void)
|
||||
{
|
||||
pupa_set_history (PUPA_DEFAULT_HISTORY_SIZE);
|
||||
|
||||
/* Register a command "normal" for the rescue mode. */
|
||||
pupa_rescue_register_command ("normal", pupa_rescue_cmd_normal,
|
||||
"enter normal mode");
|
||||
|
@ -349,6 +353,7 @@ pupa_normal_init (void)
|
|||
void
|
||||
pupa_normal_fini (void)
|
||||
{
|
||||
pupa_set_history (0);
|
||||
pupa_rescue_unregister_command ("normal");
|
||||
|
||||
}
|
||||
|
@ -358,6 +363,8 @@ PUPA_MOD_INIT
|
|||
/* Normal mode shouldn't be unloaded. */
|
||||
pupa_dl_ref (mod);
|
||||
|
||||
pupa_set_history (PUPA_DEFAULT_HISTORY_SIZE);
|
||||
|
||||
/* Register a command "normal" for the rescue mode. */
|
||||
pupa_rescue_register_command ("normal", pupa_rescue_cmd_normal,
|
||||
"enter normal mode");
|
||||
|
@ -368,6 +375,7 @@ PUPA_MOD_INIT
|
|||
|
||||
PUPA_MOD_FINI
|
||||
{
|
||||
pupa_set_history (0);
|
||||
pupa_rescue_unregister_command ("normal");
|
||||
}
|
||||
#endif /* ! PUPA_UTIL */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue