chunk_reset(temp);
list_for_each_entry(wi, &global_wurfl.information_list, list) {
- chunk_appendf(temp, "%c", global_wurfl.information_list_separator);
switch(wi->data.type) {
case HA_WURFL_DATA_TYPE_UNKNOWN :
break;
}
+ // append wurfl-information-list-separator
+ chunk_appendf(temp, "%c", global_wurfl.information_list_separator);
}
wurfl_device_destroy(dHandle);
smp->data.u.str.area = temp->area;
smp->data.u.str.data = temp->data;
+
+ // remove trailing wurfl-information-list-separator
+ if (temp->data) {
+ temp->area[temp->data] = '\0';
+ --smp->data.u.str.data;
+ }
+
return 1;
}
chunk_reset(temp);
while (args[i].data.str.area) {
- chunk_appendf(temp, "%c", global_wurfl.information_list_separator);
node = ebst_lookup(&global_wurfl.btree, args[i].data.str.area);
if (node) {
break;
}
+ // append wurfl-information-list-separator
+ chunk_appendf(temp, "%c", global_wurfl.information_list_separator);
+
} else {
ha_wurfl_log("WURFL: %s not in wurfl-information-list \n",
args[i].data.str.area);
wurfl_device_destroy(dHandle);
smp->data.u.str.area = temp->area;
smp->data.u.str.data = temp->data;
+
+ // remove trailing wurfl-information-list-separator
+ if (temp->data) {
+ temp->area[temp->data] = '\0';
+ --smp->data.u.str.data;
+ }
+
return 1;
}