grub/include/grub
okuji 5f968e1e61 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
Change the semantics of variable hooks. They now return	strings
	instead of error values.

	* util/i386/pc/grub-setup.c: Include grub/env.h.
	(setup): Use grub_device_set_root instead of grub_env_set.

	* kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
	grub_env_get instead of grub_device_set_root and
	grub_device_get_root, respectively.

	* kern/main.c (grub_env_write_root): New function.
	(grub_set_root_dev): Register grub_env_write_hook for "root". Use
	grub_env_set instead of grub_device_set_root.

	* kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
	many variables.
	(grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
	rather than calling ENV->WRITE_HOOK afterwards.
	(grub_env_get): Return the result of ENV->READ_HOOK rather than
	passing a pointer of a pointer.
	(grub_register_variable_hook): Change the types of "read_hook" and
	"write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
	respectively.
	Allocate the default empty string on the heap, because this string
	may be freed later.

	* kern/device.c: Include grub/env.h.
	(grub_device_set_root): Removed.
	(grub_device_get_root): Likewise.
	(grub_device_open): Use grub_env_get instead of
	grub_device_get_root.

	* include/grub/env.h (grub_env_read_hook_t): New type.
	(grub_env_write_hook_t): Likewise.
	(grub_env_var): Change the types of "read_hook" and "write_hook"
	to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
	(grub_register_variable_hook): Likewise.

	* include/grub/device.h (grub_device_set_root): Removed.
	(grub_device_set_root): Likewise.

	* fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
	make sure that DIRNAME terminates with '/', so that
	grub_fat_find_dir will fail if PATH is not a directory.

	* commands/ls.c (grub_ls_list_files): Remove the qualifier const
	from DIRNAME.
	Use the qualifier auto for print_files and print_files_long.
	If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
	as a regular file.
	Put a newline only if there is no error.
	(grub_cmd_ls): Remove grub_ls_print_files, because this is not
	used.
2005-07-20 20:30:46 +00:00
..
i386 2005-07-17 Yoshinori Okuji <okuji@enbug.org> 2005-07-17 14:57:07 +00:00
powerpc 2005-05-08 Hollis Blanchard <hollis@penguinppc.org> 2005-06-21 02:33:52 +00:00
util 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org> 2005-02-15 00:07:01 +00:00
arg.h 2005-07-17 Yoshinori Okuji <okuji@enbug.org> 2005-07-17 20:26:07 +00:00
boot.h 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org> 2004-04-04 13:46:03 +00:00
cache.h 2004-12-27 Marco Gerards <metgerards@student.han.nl> 2004-12-27 13:46:20 +00:00
device.h 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org> 2005-07-20 20:30:46 +00:00
disk.h 2005-01-21 Marco Gerards <metgerards@student.han.nl> 2005-01-21 21:32:03 +00:00
dl.h 2005-02-14 Guillem Jover <guillem@hadrons.org> 2005-02-14 18:41:33 +00:00
elf.h 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org> 2004-04-04 13:46:03 +00:00
env.h 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org> 2005-07-20 20:30:46 +00:00
err.h 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org> 2004-09-10 20:31:55 +00:00
file.h 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org> 2004-04-04 13:46:03 +00:00
font.h 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org> 2004-04-04 13:46:03 +00:00
fs.h 2005-07-03 Yoshinori Okuji <okuji@enbug.org> 2005-07-03 18:06:56 +00:00
fshelp.h 2004-09-11 Marco Gerards <metgerards@student.han.nl> 2004-09-11 11:42:43 +00:00
kernel.h 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org> 2005-02-15 00:07:01 +00:00
loader.h 2004-12-27 Marco Gerards <metgerards@student.han.nl> 2004-12-27 13:46:20 +00:00
misc.h 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr> 2005-05-09 01:47:37 +00:00
mm.h 2005-01-20 Marco Gerards <metgerards@student.han.nl> 2005-01-20 17:25:39 +00:00
net.h 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org> 2004-04-04 13:46:03 +00:00
normal.h 2005-07-03 Yoshinori Okuji <okuji@enbug.org> 2005-07-03 18:06:56 +00:00
partition.h 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr> 2005-02-21 22:00:32 +00:00
pc_partition.h 2004-12-04 Marco Gerards <metgerards@student.han.nl> 2004-12-04 18:45:46 +00:00
rescue.h 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org> 2004-04-04 13:46:03 +00:00
setjmp.h 2004-11-17 Hollis Blanchard <hollis@penguinppc.org> 2004-11-16 23:34:45 +00:00
symbol.h 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org> 2004-04-04 13:46:03 +00:00
term.h 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org> 2005-02-19 20:56:07 +00:00
types.h 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org> 2004-04-04 13:46:03 +00:00