[libvirt] [PATCH] Allow NULL mac address in virGetInterface.

Daniel Veillard veillard at redhat.com
Tue Nov 3 16:07:51 UTC 2009


On Wed, Oct 21, 2009 at 12:46:03PM -0400, Laine Stump wrote:
> On 10/21/2009 06:19 AM, Daniel Veillard wrote:
>> On Mon, Oct 19, 2009 at 04:41:52PM -0400, Laine Stump wrote:
>>    
>>> There are places where an interface will not have a mac address, and netcf
>>> returns this as a NULL pointer rather than a pointer to an empty string.
>>> Rather than checking for this all over the place in libvirt, just save it
>>> in the virInterface object as an empty string.
>>> ---
>>>   src/datatypes.c |    7 ++++++-
>>>   1 files changed, 6 insertions(+), 1 deletions(-)
>>>
>>> diff --git a/src/datatypes.c b/src/datatypes.c
>>> index 89ad309..ecefc59 100644
>>> --- a/src/datatypes.c
>>> +++ b/src/datatypes.c
>>> @@ -588,10 +588,15 @@ virInterfacePtr
>>>   virGetInterface(virConnectPtr conn, const char *name, const char *mac) {
>>>       virInterfacePtr ret = NULL;
>>>
>>> -    if ((!VIR_IS_CONNECT(conn)) || (name == NULL) || (mac == NULL)) {
>>> +    if ((!VIR_IS_CONNECT(conn)) || (name == NULL)) {
>>>           virLibConnError(NULL, VIR_ERR_INVALID_ARG, __FUNCTION__);
>>>           return(NULL);
>>>       }
>>> +
>>> +    /* a NULL mac from caller is okay. Treat it as blank */
>>> +    if (mac == NULL)
>>> +       mac = "";
>>> +
>>>       virMutexLock(&conn->lock);
>>>
>>>       ret = (virInterfacePtr) virHashLookup(conn->interfaces, name);
>>>      
>>    ACK that sounds reasonnable to me.
>> I assume the inverted situation of an interface known only by it's MAC
>> can't happen, right ?
>>
>>    
>
> I believe that is correct - name is a required attribute, but mac  
> address isn't.

  Okidoc, pushed now,

   thanks !

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list