>> ---
>> src/service.c | 14 ++++++++------
>> 1 file changed, 8 insertions(+), 6 deletions(-)
>>
>> diff --git a/src/service.c b/src/service.c
>> index 09c2c75..40c9382 100644
>> --- a/src/service.c
>> +++ b/src/service.c
>> @@ -1130,8 +1130,9 @@ int __connman_service_nameserver_remove(struct
>> connman_service *service,
>> const char *nameserver, bool is_auto)
>> {
>> char **servers, **nameservers;
>> + char *servers_remove[2] = {(char *) nameserver, NULL};
>> bool found = false;
>> - int len, i, j;
>> + int len, i, j, index;
>>
>> DBG("service %p nameserver %s auto %d", service, nameserver, is_auto);
>>
>> @@ -1159,12 +1160,9 @@ int __connman_service_nameserver_remove(struct
>> connman_service *service,
>>
>> if (len == 1) {
>> g_strfreev(nameservers);
>> - if (is_auto)
>> - service->nameservers_auto = NULL;
>> - else
>> - service->nameservers = NULL;
>> + nameservers = NULL;
>>
>> - return 0;
>> + goto remove;
>> }
>>
>> servers = g_try_new0(char *, len);
>> @@ -1184,6 +1182,10 @@ int __connman_service_nameserver_remove(struct
>> connman_service *service,
>> g_strfreev(nameservers);
>> nameservers = servers;
>>
>> +remove:
>> + index = __connman_service_get_index(service);
>> + remove_nameservers(service, index, servers_remove);
>The index may be set, but does this service still own/use the interface
>and not some other service? Can this setting be omitted, and instead let
>update_nameservers() reset all nameservers?
update_nameservers() also uses __connman_service_get_index() to get index but
as the service's nameserver structure is updated so nameserver which was
actually
required to be removed from both resolv.conf and service's nameserver structure
was not getting removed.
>> +
>> if (is_auto) {
>> service->nameservers_auto = nameservers;
>> } else {
Thanks,
Saurav
_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman
_______________________________________________
connman mailing list
[email protected]
https://lists.connman.net/mailman/listinfo/connman