ports/181603: Some ports maintainer :-)
Laurent LEVIER
llevier at argosnet.com
Wed Aug 28 07:50:00 UTC 2013
>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 at 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 at 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:
More information about the freebsd-ports-bugs
mailing list