+ for (s = service->settings->settings[offset]; s; s = s->next)
+ if (!strcmp(s->name, name))
+ {
+ s->value = value;
+ return;
+ }
+ s = nmem_malloc(service->nmem, sizeof(*s));
+ s->precedence = 0;
+ s->target = NULL;
+ s->name = name;
+ s->value = value;
+ s->next = service->settings->settings[offset];
+ service->settings->settings[offset] = s;