Parcourir la source

avoid byte-by-byte copy

git-svn-id: svn://bind10.isc.org/svn/bind10/trunk@1095 e5f2f494-b856-4b98-b285-d166d9295462
JINMEI Tatuya il y a 15 ans
Parent
commit
1faaf0fbae

+ 2 - 4
src/lib/dns/cpp/rdata/generic/dnskey_48.cc

@@ -90,12 +90,10 @@ DNSKEY::DNSKEY(InputBuffer& buffer, size_t rdata_len)
     uint16_t flags = buffer.readUint16();
     uint16_t protocol = buffer.readUint8();
     uint16_t algorithm = buffer.readUint8();
-    vector<uint8_t> keydata;
 
     rdata_len -= 4;
-    for (int i = 0; i < rdata_len; i++) {
-        keydata.push_back(buffer.readUint8());
-    }
+    vector<uint8_t> keydata(rdata_len);
+    buffer.readData(&keydata[0], rdata_len);
 
     impl_ = new DNSKEYImpl(flags, protocol, algorithm, keydata);
 }

+ 2 - 4
src/lib/dns/cpp/rdata/generic/ds_43.cc

@@ -85,12 +85,10 @@ DS::DS(InputBuffer& buffer, size_t rdata_len)
     uint16_t tag = buffer.readUint16();
     uint16_t algorithm = buffer.readUint8();
     uint16_t digest_type = buffer.readUint8();
-    vector<uint8_t> digest;
 
     rdata_len -= 4;
-    for (int i = 0; i < rdata_len; i++) {
-        digest.push_back(buffer.readUint8());
-    }
+    vector<uint8_t> digest(rdata_len);
+    buffer.readData(&digest[0], rdata_len);
 
     impl_ = new DSImpl(tag, algorithm, digest_type, digest);
 }