From: Jelte Jansen Date: Tue, 5 Apr 2005 09:44:52 +0000 (+0000) Subject: replaced sscanf with tokenizer X-Git-Tag: release-0.50~173 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=de9fc24da8ceca40af41747899da1f500db7b3e4;p=thirdparty%2Fldns.git replaced sscanf with tokenizer added some debug messages --- diff --git a/rr.c b/rr.c index 9e906236..7d29e205 100644 --- a/rr.c +++ b/rr.c @@ -150,7 +150,19 @@ ldns_rr_new_frm_str(const char *str) rdata = XMALLOC(char, MAX_PACKETLEN + 1); str_normalized = ldns_rr_str_normalize(str); +/* sscanf(str_normalized, "%255s%20s%10s%9s%65535c", owner, ttl, clas, type, rdata); +*/ + rd = strtok(str_normalized, "\t \0"); + strncpy(owner, rd, MAX_DOMAINLEN + 1); + rd = strtok(NULL, "\t \0"); + strncpy(ttl, rd, 21); + rd = strtok(NULL, "\t \0"); + strncpy(clas, rd, 11); + rd = strtok(NULL, "\t \0"); + strncpy(type, rd, 10); + rd = strtok(NULL, "\0"); + strncpy(rdata, rd, MAX_PACKETLEN + 1); ldns_rr_set_owner(new, ldns_dname_new_frm_str(owner)); /* ttl might be more complicated, like 2h, or 3d5h */ @@ -165,7 +177,6 @@ ldns_rr_new_frm_str(const char *str) r_max = ldns_rr_descriptor_maximum(desc); r_min = ldns_rr_descriptor_minimum(desc); - /* this breaks with nsec */ for(rd = strtok(rdata, "\t \0"), r_cnt =0; rd; rd = strtok(NULL, "\t \0"), r_cnt++) { r = ldns_rdf_new_frm_str( ldns_rr_descriptor_field_type(desc, r_cnt), @@ -181,6 +192,7 @@ ldns_rr_new_frm_str(const char *str) return NULL; } } + return new; } diff --git a/str2host.c b/str2host.c index 0a0b1eda..fff5667d 100644 --- a/str2host.c +++ b/str2host.c @@ -343,12 +343,15 @@ ldns_str2rdf_b64(ldns_rdf **rd, const char *str) i = (uint16_t) b64_pton((const char*)str, buffer, b64_ntop_calculate_size(strlen(str))); if (-1 == i) { + /* todo: remove print */ + printf("BAD B64: %s\n", str); return LDNS_STATUS_INVALID_B64; } else { *rd = ldns_rdf_new_frm_data( LDNS_RDF_TYPE_B64, (uint16_t) i, buffer); } FREE(buffer); + return LDNS_STATUS_OK; }