1 |
2005-07-20 Yoshinori K. Okuji <okuji@enbug.org> |
2005-07-20 Yoshinori K. Okuji <okuji@enbug.org> |
2 |
|
|
3 |
|
Change the semantics of variable hooks. They now return strings |
4 |
|
instead of error values. |
5 |
|
|
6 |
|
* util/i386/pc/grub-setup.c: Include grub/env.h. |
7 |
|
(setup): Use grub_device_set_root instead of grub_env_set. |
8 |
|
|
9 |
|
* kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and |
10 |
|
grub_env_get instead of grub_device_set_root and |
11 |
|
grub_device_get_root, respectively. |
12 |
|
|
13 |
|
* kern/main.c (grub_env_write_root): New function. |
14 |
|
(grub_set_root_dev): Register grub_env_write_hook for "root". Use |
15 |
|
grub_env_set instead of grub_device_set_root. |
16 |
|
|
17 |
|
* kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need |
18 |
|
many variables. |
19 |
|
(grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK |
20 |
|
rather than calling ENV->WRITE_HOOK afterwards. |
21 |
|
(grub_env_get): Return the result of ENV->READ_HOOK rather than |
22 |
|
passing a pointer of a pointer. |
23 |
|
(grub_register_variable_hook): Change the types of "read_hook" and |
24 |
|
"write_hook" to grub_env_read_hook_t and grub_env_write_hook_t, |
25 |
|
respectively. |
26 |
|
Allocate the default empty string on the heap, because this string |
27 |
|
may be freed later. |
28 |
|
|
29 |
|
* kern/device.c: Include grub/env.h. |
30 |
|
(grub_device_set_root): Removed. |
31 |
|
(grub_device_get_root): Likewise. |
32 |
|
(grub_device_open): Use grub_env_get instead of |
33 |
|
grub_device_get_root. |
34 |
|
|
35 |
|
* include/grub/env.h (grub_env_read_hook_t): New type. |
36 |
|
(grub_env_write_hook_t): Likewise. |
37 |
|
(grub_env_var): Change the types of "read_hook" and "write_hook" |
38 |
|
to grub_env_read_hook_t and grub_env_write_hook_t, respectively. |
39 |
|
(grub_register_variable_hook): Likewise. |
40 |
|
|
41 |
|
* include/grub/device.h (grub_device_set_root): Removed. |
42 |
|
(grub_device_set_root): Likewise. |
43 |
|
|
44 |
|
* fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and |
45 |
|
make sure that DIRNAME terminates with '/', so that |
46 |
|
grub_fat_find_dir will fail if PATH is not a directory. |
47 |
|
|
48 |
|
* commands/ls.c (grub_ls_list_files): Remove the qualifier const |
49 |
|
from DIRNAME. |
50 |
|
Use the qualifier auto for print_files and print_files_long. |
51 |
|
If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME |
52 |
|
as a regular file. |
53 |
|
Put a newline only if there is no error. |
54 |
|
(grub_cmd_ls): Remove grub_ls_print_files, because this is not |
55 |
|
used. |
56 |
|
|
57 |
|
2005-07-20 Yoshinori K. Okuji <okuji@enbug.org> |
58 |
|
|
59 |
* kern/partition.c (grub_partition_probe): Initialize PART to |
* kern/partition.c (grub_partition_probe): Initialize PART to |
60 |
NULL. Otherwise, when no partition map is registered, this returns |
NULL. Otherwise, when no partition map is registered, this returns |
61 |
a garbage. |
a garbage. |