Date: Wed, 28 Aug 2013 07:41:16 GMT From: Laurent LEVIER <llevier@argosnet.com> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/181603: Some ports maintainer :-) Message-ID: <201308280741.r7S7fG7D038862@oldred.freebsd.org> Resent-Message-ID: <201308280750.r7S7o0rs033145@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 181603 >Category: ports >Synopsis: Some ports maintainer :-) >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Wed Aug 28 07:50:00 UTC 2013 >Closed-Date: >Last-Modified: >Originator: Laurent LEVIER >Release: 10.0 CURRENT >Organization: >Environment: FreeBSD tirion 10.0-CURRENT FreeBSD 10.0-CURRENT #0 r254914M: Mon Aug 26 19:11:47 CEST 2013 root@tirion:/usr/obj/usr/src/sys/Tirion amd64 >Description: Mediatomb port (mediatomb-0.12.1) cant compile with the new gcc. I dont have network access from the box (NIC issue) and so I use this process to submit the patch, sorry. I'll send an email to leo@mediatomb.cc as well. >How-To-Repeat: Try to compile on FreeBSD 10 :-) >Fix: The patch below solves the issue (taken from gentoo.org): diff --git src/hash/dbo_hash.h.org src/hash/dbo_hash.h.patched index 2e58627..16c15b3 100644 --- src/hash/dbo_hash.h.org +++ src/hash/dbo_hash.h @@ -106,7 +106,7 @@ public: inline bool remove(KT key) { struct dbo_hash_slot<KT, VT> *slot; - if (! search(key, &slot)) + if (! this->search(key, &slot)) return false; slot->key = deletedKey; slot->value->release(); @@ -136,7 +136,7 @@ public: inline void put(KT key, zmm::Ref<VT> value) { struct dbo_hash_slot<KT, VT> *slot; - search(key, &slot); + this->search(key, &slot); put(key, (hash_slot_t)slot, value); } void put(KT key, hash_slot_t destSlot, zmm::Ref<VT> value) @@ -162,7 +162,7 @@ public: inline zmm::Ref<VT> get(KT key) { struct dbo_hash_slot<KT, VT> *slot; - bool found = search(key, &slot); + bool found = this->search(key, &slot); if (found) return zmm::Ref<VT>(slot->value); else @@ -174,7 +174,7 @@ public: inline zmm::Ref<VT> get(KT key, hash_slot_t *destSlot) { struct dbo_hash_slot<KT, VT> **slot = (struct dbo_hash_slot<KT, VT> **)destSlot; - bool found = search(key, slot); + bool found = this->search(key, slot); if (found) return zmm::Ref<VT>((*slot)->value); else diff --git src/hash/dbr_hash.h src/hash/dbr_hash.h.patched index 6e65d7f..7028890 100644 --- src/hash/dbr_hash.h +++ src/hash/dbr_hash.h.patched @@ -124,7 +124,7 @@ public: inline bool remove(KT key) { struct dbr_hash_slot<KT> *slot; - if (! search(key, &slot)) + if (! this->search(key, &slot)) return false; slot->key = deletedKey; int array_slot = slot->array_slot; @@ -134,7 +134,7 @@ public: return true; } data_array[array_slot] = data_array[--this->count]; - if (! search(data_array[array_slot], &slot)) + if (! this->search(data_array[array_slot], &slot)) { log_debug("DBR-Hash-Error: (%d; array_slot=%d; count=%d)\n", data_array[array_slot], array_slot, this->count); throw zmm::Exception(_("DBR-Hash-Error: key in data_array not found in hashtable")); @@ -146,7 +146,7 @@ public: inline void put(KT key) { struct dbr_hash_slot<KT> *slot; - if (! search(key, &slot)) + if (! this->search(key, &slot)) { #ifdef TOMBDEBUG if (this->count >= realCapacity) @@ -194,7 +194,7 @@ public: inline bool exists(KT key) { struct dbr_hash_slot<KT> *slot; - return search(key, &slot); + return this->search(key, &slot); } /* diff --git src/hash/dso_hash.h src/hash/dso_hash.h index adfb97f..03ec852 100644 --- src/hash/dso_hash.h +++ src/hash/dso_hash.h.patched @@ -100,7 +100,7 @@ public: inline bool remove(zmm::String key) { struct dso_hash_slot<VT> *slot; - if (! search(key, &slot)) + if (! this->search(key, &slot)) return false; slot->key->release(); slot->value->release(); @@ -112,7 +112,7 @@ public: inline void put(zmm::String key, zmm::Ref<VT> value) { struct dso_hash_slot<VT> *slot; - search(key, &slot); + this->search(key, &slot); put(key, (hash_slot_t)slot, value); } void put(zmm::String key, hash_slot_t destSlot, zmm::Ref<VT> value) @@ -141,7 +141,7 @@ public: inline zmm::Ref<VT> get(zmm::String key) { struct dso_hash_slot<VT> *slot; - bool found = search(key, &slot); + bool found = this->search(key, &slot); if (found) return zmm::Ref<VT>(slot->value); else @@ -153,7 +153,7 @@ public: inline zmm::Ref<VT> get(zmm::String key, hash_slot_t *destSlot) { struct dso_hash_slot<VT> **slot = (struct dso_hash_slot<VT> **)destSlot; - bool found = search(key, slot); + bool found = this->search(key, slot); if (found) return zmm::Ref<VT>((*slot)->value); else >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201308280741.r7S7fG7D038862>