[OpenBIOS] [PATCH] mac-parts.c: Fix auto-partition selection for the dir word.
Programmingkid
programmingkidx at gmail.com
Sat Mar 16 20:32:22 CET 2013
I have just tested the patch and it does fix the problem. Thank you.
On Mar 16, 2013, at 9:24 AM, Mark Cave-Ayland wrote:
> Commit r1100 fixed the quik bootloader but broke automatic partition selection
> for the dir word.
>
> Differentiate between the package having no arguments (argstr == NULL) and
> the package having empty arguments (argstr == ""), and alter the dir word
> to use the latter version to invoke the automatic partition selection code
> when required.
>
> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland at ilande.co.uk>
> CC: Alexander Graf <agraf at suse.de>
> ---
> openbios-devel/forth/debugging/client.fs | 2 +-
> openbios-devel/packages/mac-parts.c | 10 +++++-----
> 2 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/openbios-devel/forth/debugging/client.fs b/openbios-devel/forth/debugging/client.fs
> index d454d22..24b1ec7 100644
> --- a/openbios-devel/forth/debugging/client.fs
> +++ b/openbios-devel/forth/debugging/client.fs
> @@ -126,7 +126,7 @@ variable file-size
>
> : dir ( "{paths}<cr>" -- )
> linefeed parse
> - ascii , left-split
> + ascii , split-after
> 2dup open-dev dup 0= if
> drop
> cr ." Unable to locate device " type
> diff --git a/openbios-devel/packages/mac-parts.c b/openbios-devel/packages/mac-parts.c
> index 12c94e5..85d53f8 100644
> --- a/openbios-devel/packages/mac-parts.c
> +++ b/openbios-devel/packages/mac-parts.c
> @@ -79,6 +79,10 @@ macparts_open( macparts_info_t *di )
> } else {
> argstr = str;
> }
> +
> + /* Make sure argstr is not null */
> + if (argstr == NULL)
> + argstr = strdup("");
>
> /* Convert the id to a partition number */
> if (parstr && strlen(parstr))
> @@ -89,10 +93,6 @@ macparts_open( macparts_info_t *di )
> want_bootcode = 1;
> }
>
> - /* Make sure argstr is not null */
> - if (argstr == NULL)
> - argstr = strdup("");
> -
> DPRINTF("parstr: %s argstr: %s parnum: %d\n", parstr, argstr, parnum);
>
> DPRINTF("want_bootcode %d\n", want_bootcode);
> @@ -126,7 +126,7 @@ macparts_open( macparts_info_t *di )
> * Implement partition selection as per the PowerPC Microprocessor CHRP bindings
> */
>
> - if (str == NULL || parnum == 0) {
> + if (argstr == NULL || parnum == 0) {
> /* According to the spec, partition 0 as well as no arguments means the whole disk */
> offs = (long long)0;
> size = (long long)__be32_to_cpu(dmap.sbBlkCount) * bs;
> --
> 1.7.10.4
>
>
> --
> OpenBIOS http://openbios.org/
> Mailinglist: http://lists.openbios.org/mailman/listinfo
> Free your System - May the Forth be with you
More information about the OpenBIOS
mailing list