qemu-block
[Top][All Lists]
Advanced

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

Re: [Qemu-block] [Qemu-devel] ping: [PATCH v13] block/raw-posix.c: Make


From: Eric Blake
Subject: Re: [Qemu-block] [Qemu-devel] ping: [PATCH v13] block/raw-posix.c: Make physical devices usable in QEMU under Mac OS X host
Date: Tue, 2 Feb 2016 19:30:20 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.0

On 02/02/2016 06:15 PM, Programmingkid wrote:

>> No, keep filename as a const char * pointer.  It's easy to avoid use of
>> uninitialized memory.  Try this:
>>
>> const char *filename;
>> char bsd_path[MAXPATHLEN] = "";
>> ...
>> if (strncmp("/dev/cdrom"...) {
>>    bsd_path = ...
>> }
>> ...
>> if (strncmp("/dev/"...) {
>>    print_unmounting_directions(*bsd_path ? bsd_path : filename);
> 
> At first I thought this code looked unusual, but it does work. Is this ok?
> 
> #if defined(__APPLE__) && defined(__MACH__)
>         /* if a physical device experienced an error while being opened */
>         if (strncmp((*bsd_path ? bsd_path : filename), "/dev/", 5) == 0) {
>             print_unmounting_directions(*bsd_path ? bsd_path : filename);
>             return -1;
>         }

A bit repetitive. You don't use filename after the fact, so shorter
would be:

#if defined(__APPLE__)...
    if (*bsd_path) {
        filename = filename;
    if (strncmp(filename, "/dev/"...) {
        print...(filename);

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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