X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2FPacketImpl.ct;fp=senf%2FPackets%2FPacketImpl.ct;h=93a757c1379702cc60de76206dfa646307a30bb3;hb=20c3dbf64b3beed10655dceaee5791680fb25383;hp=7dc7cb97f079fc463beeec99789bb9145377269a;hpb=5c330db423b5bbfa1b376d55a83e44bbc299bdd8;p=senf.git diff --git a/senf/Packets/PacketImpl.ct b/senf/Packets/PacketImpl.ct index 7dc7cb9..93a757c 100644 --- a/senf/Packets/PacketImpl.ct +++ b/senf/Packets/PacketImpl.ct @@ -35,16 +35,18 @@ senf::detail::AnnotationRegistry::RegistrationProxy senf::detail::AnnotationRegistry::Entry::proxy_; template -senf::detail::AnnotationRegistry::key_t +senf::detail::AnnotationRegistry::key_type senf::detail::AnnotationRegistry::Entry::key_; template prefix_ void * senf::detail::PacketImpl::complexAnnotation() { - AnnotationRegistry::key_t key (AnnotationRegistry::lookup()); + AnnotationRegistry::key_type key (AnnotationRegistry::lookup()); void * rv (complexAnnotation(key)); #ifndef SENF_PACKET_NO_COMPLEX_ANNOTATIONS if (! rv) { + while (complexAnnotations_.size() < ComplexAnnotations::size_type(-key)) + complexAnnotations_.push_back(0); complexAnnotations_.replace(-key-1, new AnnotationRegistry::Entry()); rv = complexAnnotations_[-key-1].get(); }