grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Add option to grub-probe to accept system devices as argumen


From: Robert Millan
Subject: Re: [PATCH] Add option to grub-probe to accept system devices as arguments
Date: Tue, 12 Feb 2008 12:28:59 +0100
User-agent: Mutt/1.5.13 (2006-08-11)

On Tue, Feb 12, 2008 at 10:49:37AM +0100, Fabian Greffrath wrote:
> >You put that function in a separate file, which indicates it is meant to be
> >a general-purpose function, but its spec is constrained by the code in
> >grub-probe (i.e. you strdup() not because it is needed for the purpose of
> >this function, but because grub-probe already calls free()).
> 
> That's right. Consequently there are two alternatives left:
> 
> - grub_util_check_block_device() returns the pointer instead of strdup() 
> and the
> call to free() in grub-probe is conditional upon if argument_is_device is 
> true
> or false; which I consider an ugly hack.
> 
> - I keep getroot.{c,h} untouched and include these four lines in grub-probe;
> which is a pity because I consider the function quite usefull, though still 
> not
> perfect (see above).

That's why I proposed to pass both path and device, and let either of them be
NULL.  When you do this:

  - You can determine whether `device' is provided (hence you can skip
    converting from `path') simply with "if (device)".

  - You can make the free() part independant of any other indications by
    issuing:

      if (device)
        free (device);
      if (path)
        free (path);

-- 
Robert Millan

<GPLv2> I know my rights; I want my phone call!
<DRM> What use is a phone call… if you are unable to speak?
(as seen on /.)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]