- case 600: res->commonInfo = f_commonInfo(eh, c); break;
- case 102: res->name = f_string(eh, c); break;
- case 103: res->recentNews = f_humstring(eh, c); break;
- case 104: break; /* icon */
- case 105: res->namedResultSets = f_bool(eh, c); break;
- case 106: res->multipleDbSearch = f_bool(eh, c); break;
- case 107: res->maxResultSets = f_integer(eh, c); break;
- case 108: res->maxResultSize = f_integer(eh, c); break;
- case 109: res->maxTerms = f_integer(eh, c); break;
- case 110: res->timeoutInterval = f_intunit(eh, c); break;
- case 111: res->welcomeMessage = f_humstring(eh, c); break;
- case 112: res->contactInfo = f_contactInfo(eh, c); break;
- case 113: res->description = f_humstring(eh, c); break;
- case 114: break; /* nicknames */
- case 115: res->usageRest = f_humstring(eh, c); break;
- case 116: res->paymentAddr = f_humstring(eh, c); break;
- case 117: res->hours = f_humstring(eh, c); break;
- case 118: break; /* dbcombinations */
- case 119: break; /* addresses */
- case 500: res->commonAccessInfo = f_accessInfo(eh, c); break;
- default:
- logf(LOG_WARN, "Unknown target-info element");
+ case 600: res->commonInfo = f_commonInfo(eh, c); break;
+ case 102: res->name = f_string(eh, c); break;
+ case 103: res->recentNews = f_humstring(eh, c); break;
+ case 104: res->icon = NULL; break; /* fix */
+ case 105: res->namedResultSets = f_bool(eh, c); break;
+ case 106: res->multipleDbSearch = f_bool(eh, c); break;
+ case 107: res->maxResultSets = f_integer(eh, c); break;
+ case 108: res->maxResultSize = f_integer(eh, c); break;
+ case 109: res->maxTerms = f_integer(eh, c); break;
+ case 110: res->timeoutInterval = f_intunit(eh, c); break;
+ case 111: res->welcomeMessage = f_humstring(eh, c); break;
+ case 112: res->contactInfo = f_contactInfo(eh, c); break;
+ case 113: res->description = f_humstring(eh, c); break;
+ case 114:
+ res->num_nicknames = 0;
+ for (n = c->child; n; n = n->next)
+ {
+ if (is_numeric_tag(eh, n) != 102)
+ continue;
+ (res->num_nicknames)++;
+ }
+ if (res->num_nicknames)
+ res->nicknames =
+ odr_malloc (eh->o, res->num_nicknames
+ * sizeof(*res->nicknames));
+ for (n = c->child; n; n = n->next)
+ {
+ if (is_numeric_tag(eh, n) != 102)
+ continue;
+ res->nicknames[i++] = f_string (eh, n);
+ }
+ break;
+ case 115: res->usageRest = f_humstring(eh, c); break;
+ case 116: res->paymentAddr = f_humstring(eh, c); break;
+ case 117: res->hours = f_humstring(eh, c); break;
+ case 118:
+ res->num_dbCombinations = 0;
+ for (n = c->child; n; n = n->next)
+ {
+ if (!is_numeric_tag(eh, n) != 605)
+ continue;
+ (res->num_dbCombinations)++;
+ }
+ if (res->num_dbCombinations)
+ res->dbCombinations =
+ odr_malloc (eh->o, res->num_dbCombinations
+ * sizeof(*res->dbCombinations));
+ for (n = c->child; n; n = n->next)
+ {
+ if (!is_numeric_tag(eh, n) != 605)
+ continue;
+ res->dbCombinations[i++] = f_databaseList (eh, n);
+ }
+ break;
+ case 119: res->addresses = 0; break; /* fix */
+ case 500: res->commonAccessInfo = f_accessInfo(eh, c); break;