<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>2014/07/25 on Yano&#39;s digital garage</title>
    <link>https://www.bravotouring.com/~yano/archives/2014/07/25/</link>
    <description>Recent content in 2014/07/25 on Yano&#39;s digital garage</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 25 Jul 2014 22:40:32 +0900</lastBuildDate>
    <atom:link href="https://www.bravotouring.com/~yano/archives/2014/07/25/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>TR-313ファームアップ</title>
      <link>https://www.bravotouring.com/~yano/diary/it/20140725tr313.htm</link>
      <pubDate>Fri, 25 Jul 2014 22:40:32 +0900</pubDate>
      <guid>https://www.bravotouring.com/~yano/diary/it/20140725tr313.htm</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.bravotouring.com/~yano/diary/it/20140618tr313.htm&#34;&gt;6月に調達&lt;/a&gt;したSIMフリーGPSトラッカー&lt;a href=&#34;http://www.gpsdgps.com/product/pr_tr-313j.htm&#34;&gt;TR-313J&lt;/a&gt;の「新ファームウェアのご案内」が届いた。&lt;/p&gt;&#xA;&lt;p&gt;インターネット上の&lt;a href=&#34;http://www.trackers.jp/support_download.html&#34;&gt;サポートページ&lt;/a&gt;からダウンロードしてUSB形式で更新という手順は良くある話だが、肝心の更新内容に関してはメール本文に書かれた&lt;blockquote&gt;この度、電源周りの動作安定化を図った新ファームウェアがリリースされましたので、ご案内いたします。&lt;br/&gt;&lt;br/&gt;ezToolをご利用いただいて更新をお願いいたします。&lt;/blockquote&gt;情報のみというのは何とも心細い。&lt;/p&gt;&#xA;&lt;p&gt;簡単でもアップデート手順書と更新履歴くらいは整備して頂きたいものだ。&lt;/p&gt;&#xA;&lt;p&gt;ちなみにプリインストールのバージョンF-0TR-313STD-14052221.2.1.0.0から、今回のアプデでF-0TR-313STD-14071421.2.1.0.0に変わったが、『電源周りの動作安定化』の効果の程は定かではない。&lt;/p&gt;&#xA;&lt;p class=&#34;Reference&#34;&gt;【参照】&#xA;&#x9;&lt;br/&gt;●INTERNET Watch &lt;a href=&#34;http://internet.watch.impress.co.jp/&#34;&gt;http://internet.watch.impress.co.jp/&lt;/a&gt;&#xA;&lt;br/&gt;┣&lt;a href=&#34;http://internet.watch.impress.co.jp/docs/column/chizu/20130502_598008.html&#34;&gt;【趣味のインターネット地図ウォッチ】 第160回：3G通信で現在地を他の端末に知らせるソフトバンク「みまもりGPS」&lt;/a&gt; 2013年5月2日&#xA;&#x9;&lt;br/&gt;┗&lt;a href=&#34;http://internet.watch.impress.co.jp/docs/column/chizu/20140612_652978.html&#34;&gt;【趣味のインターネット地図ウォッチ】 第189回：格安SIMで地図好きに新たな愉しみ、SIMフリーのGPSトラッカー発売&lt;/a&gt; 2014年6月12日&#xA;&#x9;&lt;br/&gt;●GPS受信機とロガーの通販【GPSDGPS】 &lt;a href=&#34;http://www.gpsdgps.com/&#34;&gt;http://www.gpsdgps.com/&lt;/a&gt;&#xA;&lt;br/&gt;┣&lt;a href=&#34;http://www.gpsdgps.com/product/pr_dg-100.htm&#34;&gt;DG-100&lt;/a&gt;&#xA;&lt;br/&gt;┗&lt;a href=&#34;http://www.gpsdgps.com/product/pr_tr-313j.htm&#34;&gt;TR-313J&lt;/a&gt;&#xA;&lt;br/&gt;●3G/GPSトラッカーサイト &lt;a href=&#34;http://www.trackers.jp/&#34;&gt;http://www.trackers.jp/&lt;/a&gt;&#xA;&lt;br/&gt;┗&lt;a href=&#34;http://www.trackers.jp/products_tr313j.html&#34;&gt;TR-313J&lt;/a&gt;&#xA;&lt;br/&gt;●MobileAction日本正規代理店 &lt;a href=&#34;http://www.i-gotu.jp/&#34;&gt;http://www.i-gotu.jp/&lt;/a&gt;&#xA;&lt;br/&gt;┗&lt;a href=&#34;http://www.i-gotu.jp/?page_id=54&#34;&gt;i-gotU GT-120&lt;/a&gt;&#xA;&lt;br/&gt;●GlobalSat &lt;a href=&#34;http://www.globalsat.com.tw/&#34;&gt;http://www.globalsat.com.tw/&lt;/a&gt;&#xA;&lt;br/&gt;┗&lt;a href=&#34;http://www.globalsat.com.tw/products-page_new.php?menu=2&amp;gs_en_product_id=3&amp;gs_en_product_cnt_id=37&#34;&gt;TR-313 Advance 3G Personal Tracker&lt;/a&gt;&#xA;&lt;br/&gt;●ezfinder Tracking Portal &lt;a href=&#34;http://www.ezfinder.com.tw/&#34;&gt;http://www.ezfinder.com.tw/&lt;/a&gt;&#xA;&lt;br/&gt;●Traccar - open source GPS tracking system &lt;a href=&#34;http://www.traccar.org/&#34;&gt;http://www.traccar.org/&lt;/a&gt;&#xA;&lt;/p&gt;</description>
    </item>
    <item>
      <title>MediaTomb再導入</title>
      <link>https://www.bravotouring.com/~yano/diary/it/20140725mediatomb.htm</link>
      <pubDate>Fri, 25 Jul 2014 21:27:52 +0900</pubDate>
      <guid>https://www.bravotouring.com/~yano/diary/it/20140725mediatomb.htm</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.bravotouring.com/~yano/diary/it/20140603trusty.htm&#34;&gt;先日のTrusty化した&lt;span class=&#34;Host&#34;&gt;GT110b&lt;/span&gt;&lt;/a&gt;で忘れていた&lt;span class=&#34;Software&#34;&gt;MediaTomb&lt;/span&gt;と&lt;a href=&#34;https://www.bravotouring.com/~yano/diary/it/20130222mediatomb.htm&#34;&gt;昨年2月&lt;/a&gt;以来の再戦。&lt;/p&gt;&#xA;&lt;p&gt;昨年2月に導入した&lt;span class=&#34;Topics&#34;&gt;リビジョン 2104&lt;/span&gt;にfix_libav_0.7_support.patch、libavformat_0.11_support.patch、mediatomb-seek.patchの３パッチを適用したソースツリーをrebuildしたところ&#xA;&lt;blockquote class=&#34;Log&#34;&gt;&#xA;yano@GT110b:~/software/MediaTomb/mediatomb-r2104$ make&lt;br/&gt;&#xA;～～ 中略 ～～&lt;br/&gt;&#xA;g++ -DHAVE_CONFIG_H -I. -I.. -I../tombupnp/upnp/inc    -I../src -I../tombupnp/ixml/inc -I../tombupnp/threadutil/inc -I../tombupnp/upnp/inc -I..  -I/usr/include/mysql -DBIG_JOINS=1  -fno-strict-aliasing   -g -DNDEBUG         -pthread        -g -O2 -MT libmediatomb_a-autoscan.o -MD -MP -MF .deps/libmediatomb_a-autoscan.Tpo -c -o libmediatomb_a-autoscan.o `test -f &#39;../src/autoscan.cc&#39; || echo &#39;./&#39;`../src/autoscan.cc&lt;br/&gt;&#xA;In file included from ../src/zmm/zmm.h:37:0,&lt;br/&gt;&#xA;                 from ../src/zmmf/zmmf.h:35,&lt;br/&gt;&#xA;                 from ../src/autoscan.h:36,&lt;br/&gt;&#xA;                 from ../src/autoscan.cc:36:&lt;br/&gt;&#xA;../src/zmm/object.h:51:32: &lt;span class=&#34;Warning&#34;&gt;error: declaration of ‘operator new’ as non-function&lt;/span&gt;&lt;br/&gt;&#xA;     static void* operator new (size_t size);&lt;br/&gt;&#xA;                                ^&lt;br/&gt;&#xA;../src/zmm/object.h:51:27: &lt;span class=&#34;Warning&#34;&gt;error: expected ‘;’ at end of member declaration&lt;/span&gt;&lt;br/&gt;&#xA;     static void* operator new (size_t size);&lt;br/&gt;&#xA;                           ^&lt;br/&gt;&#xA;../src/zmm/object.h:51:39: &lt;span class=&#34;Warning&#34;&gt;error: expected ‘)’ before ‘size’&lt;/span&gt;&lt;br/&gt;&#xA;     static void* operator new (size_t size);&lt;br/&gt;&#xA;                                       ^&lt;br/&gt;&#xA;make[2]: *** [libmediatomb_a-autoscan.o] Error 1&lt;br/&gt;&#xA;make[2]: Leaving directory `/home/yano/software/MediaTomb/mediatomb-r2104/build&#39;&lt;br/&gt;&#xA;make[1]: *** [all-recursive] Error 1&lt;br/&gt;&#xA;make[1]: Leaving directory `/home/yano/software/MediaTomb/mediatomb-r2104&#39;&lt;br/&gt;&#xA;make: *** [all] Error 2&lt;/blockquote&gt;というエラーで止ってしまった。どうやらGCC 4.6由来の問題らしく、&lt;a href=&#34;http://sourceforge.net/p/mediatomb/patches/25/&#34;&gt;MediaTomb / Patches / #25 Fix build error with GCC 4.6&lt;/a&gt;に倣って&lt;a href=&#34;http://sourceforge.net/p/mediatomb/patches/_discuss/thread/164c6f68/f71c/attachment/mediatomb-0.12.1-gcc46.patch&#34;&gt;mediatomb-0.12.1-gcc46.patch&lt;/a&gt;を適用。すると、今度は&#xA;&lt;blockquote class=&#34;Log&#34;&gt;yano@GT110b:~/software/MediaTomb/mediatomb-r2104$ make&lt;br/&gt;&#xA;～～ 中略 ～～&lt;br/&gt;&#xA;make[2]: Entering directory `/home/yano/software/MediaTomb/mediatomb-r2104/build&#39;&lt;br/&gt;&#xA;g++ -DHAVE_CONFIG_H -I. -I.. -I../tombupnp/upnp/inc    -I../src -I../tombupnp/ixml/inc -I../tombupnp/threadutil/inc -I../tombupnp/upnp/inc -I..  -I/usr/include/mysql -DBIG_JOINS=1  -fno-strict-aliasing   -g -DNDEBUG         -pthread        -g -O2 -MT libmediatomb_a-action_request.o -MD -MP -MF .deps/libmediatomb_a-action_request.Tpo -c -o libmediatomb_a-action_request.o `test -f &#39;../src/action_request.cc&#39; || echo &#39;./&#39;`../src/action_request.cc&lt;br/&gt;&#xA;mv -f .deps/libmediatomb_a-action_request.Tpo .deps/libmediatomb_a-action_request.Po&lt;br/&gt;&#xA;g++ -DHAVE_CONFIG_H -I. -I.. -I../tombupnp/upnp/inc    -I../src -I../tombupnp/ixml/inc -I../tombupnp/threadutil/inc -I../tombupnp/upnp/inc -I..  -I/usr/include/mysql -DBIG_JOINS=1  -fno-strict-aliasing   -g -DNDEBUG         -pthread        -g -O2 -MT libmediatomb_a-autoscan.o -MD -MP -MF .deps/libmediatomb_a-autoscan.Tpo -c -o libmediatomb_a-autoscan.o `test -f &#39;../src/autoscan.cc&#39; || echo &#39;./&#39;`../src/autoscan.cc&lt;br/&gt;&#xA;mv -f .deps/libmediatomb_a-autoscan.Tpo .deps/libmediatomb_a-autoscan.Po&lt;br/&gt;&#xA;g++ -DHAVE_CONFIG_H -I. -I.. -I../tombupnp/upnp/inc    -I../src -I../tombupnp/ixml/inc -I../tombupnp/threadutil/inc -I../tombupnp/upnp/inc -I..  -I/usr/include/mysql -DBIG_JOINS=1  -fno-strict-aliasing   -g -DNDEBUG         -pthread        -g -O2 -MT libmediatomb_a-autoscan_inotify.o -MD -MP -MF .deps/libmediatomb_a-autoscan_inotify.Tpo -c -o libmediatomb_a-autoscan_inotify.o `test -f &#39;../src/autoscan_inotify.cc&#39; || echo &#39;./&#39;`../src/autoscan_inotify.cc&lt;br/&gt;&#xA;In file included from ../src/hash.h:49:0,&lt;br/&gt;&#xA;                 from ../src/autoscan_inotify.h:36,&lt;br/&gt;&#xA;                 from ../src/autoscan_inotify.cc:38:&lt;br/&gt;&#xA;../src/hash/dbo_hash.h: In instantiation of ‘zmm::Ref&lt;VT&gt; DBOHash&lt;KT, VT&gt;::get(KT) [with KT = int; VT = AutoscanInotify::Wd]’:&lt;br/&gt;&#xA;../src/autoscan_inotify.cc:229:48:   required from here&lt;br/&gt;&#xA;../src/hash/dbo_hash.h:165:39: &lt;span class=&#34;Warning&#34;&gt;error: ‘search’ was not declared in this scope&lt;/span&gt;, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]&lt;br/&gt;&#xA;         bool found = search(key, &amp;slot);&lt;br/&gt;&#xA;                                       ^&lt;br/&gt;&#xA;../src/hash/dbo_hash.h:165:39: note: declarations in dependent base ‘DHashBase&lt;int, dbo_hash_slot&lt;int, AutoscanInotify::Wd&gt; &gt;’ are not found by unqualified lookup&lt;br/&gt;&#xA;../src/hash/dbo_hash.h:165:39: note: &lt;span class=&#34;Recommend&#34;&gt;use ‘this-&gt;search’ instead&lt;/span&gt;&lt;br/&gt;&#xA;../src/hash/dbo_hash.h: In instantiation of ‘bool DBOHash&lt;KT, VT&gt;::remove(KT) [with KT = int; VT = AutoscanInotify::Wd]’:&lt;br/&gt;&#xA;../src/autoscan_inotify.cc:329:39:   required from here&lt;br/&gt;&#xA;../src/hash/dbo_hash.h:109:32: &lt;span class=&#34;Warning&#34;&gt;error: ‘search’ was not declared in this scope&lt;/span&gt;, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]&lt;br/&gt;&#xA;         if (! search(key, &amp;slot))&lt;br/&gt;&#xA;                                ^&lt;br/&gt;&#xA;../src/hash/dbo_hash.h:109:32: note: declarations in dependent base ‘DHashBase&lt;int, dbo_hash_slot&lt;int, AutoscanInotify::Wd&gt; &gt;’ are not found by unqualified lookup&lt;br/&gt;&#xA;../src/hash/dbo_hash.h:109:32: note: use ‘this-&gt;search’ instead&lt;br/&gt;&#xA;../src/hash/dbo_hash.h: In instantiation of ‘void DBOHash&lt;KT, VT&gt;::put(KT, zmm::Ref&lt;VT&gt;) [with KT = int; VT = AutoscanInotify::Wd]’:&lt;br/&gt;&#xA;../src/autoscan_inotify.cc:392:35:   required from here&lt;br/&gt;&#xA;../src/hash/dbo_hash.h:139:26: &lt;span class=&#34;Warning&#34;&gt;error: ‘search’ was not declared in this scope&lt;/span&gt;, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]&lt;br/&gt;&#xA;         search(key, &amp;slot);&lt;br/&gt;&#xA;                          ^&lt;br/&gt;&#xA;../src/hash/dbo_hash.h:139:26: note: declarations in dependent base ‘DHashBase&lt;int, dbo_hash_slot&lt;int, AutoscanInotify::Wd&gt; &gt;’ are not found by unqualified lookup&lt;br/&gt;&#xA;../src/hash/dbo_hash.h:139:26: note: use ‘this-&gt;search’ instead&lt;br/&gt;&#xA;make[2]: *** [libmediatomb_a-autoscan_inotify.o] Error 1&lt;br/&gt;&#xA;make[2]: Leaving directory `/home/yano/software/MediaTomb/mediatomb-r2104/build&#39;&lt;br/&gt;&#xA;make[1]: *** [all-recursive] Error 1&lt;br/&gt;&#xA;make[1]: Leaving directory `/home/yano/software/MediaTomb/mediatomb-r2104&#39;&lt;br/&gt;&#xA;make: *** [all] Error 2&lt;/blockquote&gt;という&lt;span class=&#34;Warning&#34;&gt;エラー&lt;/span&gt;発生。特にパッチが出ているような雰囲気は無いので、&lt;span class=&#34;Recommend&#34;&gt;use this-search instead&lt;/span&gt;と言われるとおり&lt;span class=&#34;Strong&#34;&gt;this-&lt;/span&gt;を付与して解決。&#xA;&lt;span class=&#34;Path&#34;&gt;./src/hash/dbo_hash.h&lt;/span&gt;だけでなく&lt;span class=&#34;Path&#34;&gt;./src/hash/dbr_hash.h&lt;/span&gt;、&lt;span class=&#34;Path&#34;&gt;./src/hash/dso_hash.h&lt;/span&gt;も同様だったので、&lt;span class=&#34;Path&#34;&gt;mediatomb-hash_socpe.patch&lt;/span&gt;を作っておく。&#xA;&lt;blockquote class=&#34;Log&#34;&gt;cite=&#34;mediatomb-hash_socpe.patch&#34;&gt;*** ./src/hash/dbo_hash.h.orig  2012-10-22 00:50:27.000000000 +0900&lt;br/&gt;&#xA;--- ./src/hash/dbo_hash.h       2014-07-25 16:30:36.721645351 +0900&lt;br/&gt;&#xA;***************&lt;br/&gt;&#xA;*** 106,112 ****&lt;br/&gt;&#xA;      inline bool remove(KT key)&lt;br/&gt;&#xA;      {&lt;br/&gt;&#xA;          struct dbo_hash_slotKT, VT *slot;&lt;br/&gt;&#xA;!         if (! search(key, slot))&lt;br/&gt;&#xA;              return false;&lt;br/&gt;&#xA;          slot-key = deletedKey;&lt;br/&gt;&#xA;          slot-value-release();&lt;br/&gt;&#xA;--- 106,112 ----&lt;br/&gt;&#xA;      inline bool remove(KT key)&lt;br/&gt;&#xA;      {&lt;br/&gt;&#xA;          struct dbo_hash_slotKT, VT *slot;&lt;br/&gt;&#xA;!         if (! this-search(key, slot))&lt;br/&gt;&#xA;              return false;&lt;br/&gt;&#xA;          slot-key = deletedKey;&lt;br/&gt;&#xA;          slot-value-release();&lt;br/&gt;&#xA;***************&lt;br/&gt;&#xA;*** 136,142 ****&lt;br/&gt;&#xA;      inline void put(KT key, zmm::RefVT value)&lt;br/&gt;&#xA;      {&lt;br/&gt;&#xA;          struct dbo_hash_slotKT, VT *slot;&lt;br/&gt;&#xA;!         search(key, slot);&lt;br/&gt;&#xA;          put(key, (hash_slot_t)slot, value);&lt;br/&gt;&#xA;      }&lt;br/&gt;&#xA;      void put(KT key, hash_slot_t destSlot, zmm::RefVT value)&lt;br/&gt;&#xA;--- 136,142 ----&lt;br/&gt;&#xA;      inline void put(KT key, zmm::RefVT value)&lt;br/&gt;&#xA;      {&lt;br/&gt;&#xA;          struct dbo_hash_slotKT, VT *slot;&lt;br/&gt;&#xA;!         this-search(key, slot);&lt;br/&gt;&#xA;          put(key, (hash_slot_t)slot, value);&lt;br/&gt;&#xA;      }&lt;br/&gt;&#xA;      void put(KT key, hash_slot_t destSlot, zmm::RefVT value)&lt;br/&gt;&#xA;***************&lt;br/&gt;&#xA;*** 162,168 ****&lt;br/&gt;&#xA;      inline zmm::RefVT get(KT key)&lt;br/&gt;&#xA;      {&lt;br/&gt;&#xA;          struct dbo_hash_slotKT, VT *slot;&lt;br/&gt;&#xA;!         bool found = search(key, slot);&lt;br/&gt;&#xA;          if (found)&lt;br/&gt;&#xA;              return zmm::RefVT(slot-value);&lt;br/&gt;&#xA;          else&lt;br/&gt;&#xA;--- 162,168 ----&lt;br/&gt;&#xA;      inline zmm::RefVT get(KT key)&lt;br/&gt;&#xA;      {&lt;br/&gt;&#xA;          struct dbo_hash_slotKT, VT *slot;&lt;br/&gt;&#xA;!         bool found = this-search(key, slot);&lt;br/&gt;&#xA;          if (found)&lt;br/&gt;&#xA;              return zmm::RefVT(slot-value);&lt;br/&gt;&#xA;          else&lt;br/&gt;&#xA;***************&lt;br/&gt;&#xA;*** 174,180 ****&lt;br/&gt;&#xA;      inline zmm::RefVT get(KT key, hash_slot_t *destSlot)&lt;br/&gt;&#xA;      {&lt;br/&gt;&#xA;          struct dbo_hash_slotKT, VT **slot = (struct dbo_hash_slotKT, VT **)destSlot;&lt;br/&gt;&#xA;!         bool found = search(key, slot);&lt;br/&gt;&#xA;          if (found)&lt;br/&gt;&#xA;              return zmm::RefVT((*slot)-value);&lt;br/&gt;&#xA;          else&lt;br/&gt;&#xA;--- 174,180 ----&lt;br/&gt;&#xA;      inline zmm::RefVT get(KT key, hash_slot_t *destSlot)&lt;br/&gt;&#xA;      {&lt;br/&gt;&#xA;          struct dbo_hash_slotKT, VT **slot = (struct dbo_hash_slotKT, VT **)destSlot;&lt;br/&gt;&#xA;!         bool found = this-search(key, slot);&lt;br/&gt;&#xA;          if (found)&lt;br/&gt;&#xA;              return zmm::RefVT((*slot)-value);&lt;br/&gt;&#xA;          else&lt;br/&gt;&#xA;*** ./src/hash/dbr_hash.h.orig  2012-10-22 00:50:27.000000000 +0900&lt;br/&gt;&#xA;--- ./src/hash/dbr_hash.h       2014-07-25 16:31:48.843639371 +0900&lt;br/&gt;&#xA;***************&lt;br/&gt;&#xA;*** 124,130 ****&lt;br/&gt;&#xA;      inline bool remove(KT key)&lt;br/&gt;&#xA;      {&lt;br/&gt;&#xA;          struct dbr_hash_slotKT *slot;&lt;br/&gt;&#xA;!         if (! search(key, slot))&lt;br/&gt;&#xA;              return false;&lt;br/&gt;&#xA;          slot-key = deletedKey;&lt;br/&gt;&#xA;          int array_slot = slot-array_slot;&lt;br/&gt;&#xA;--- 124,130 ----&lt;br/&gt;&#xA;      inline bool remove(KT key)&lt;br/&gt;&#xA;      {&lt;br/&gt;&#xA;          struct dbr_hash_slotKT *slot;&lt;br/&gt;&#xA;!         if (! this-search(key, slot))&lt;br/&gt;&#xA;              return false;&lt;br/&gt;&#xA;          slot-key = deletedKey;&lt;br/&gt;&#xA;          int array_slot = slot-array_slot;&lt;br/&gt;&#xA;***************&lt;br/&gt;&#xA;*** 134,140 ****&lt;br/&gt;&#xA;              return true;&lt;br/&gt;&#xA;          }&lt;br/&gt;&#xA;          data_array[array_slot] = data_array[--this-count];&lt;br/&gt;&#xA;!         if (! search(data_array[array_slot], slot))&lt;br/&gt;&#xA;          {&lt;br/&gt;&#xA;              log_debug(DBR-Hash-Error: (%d; array_slot=%d; count=%d)\n, data_array[array_slot], array_slot, this-count);&lt;br/&gt;&#xA;              throw zmm::Exception(_(DBR-Hash-Error: key in data_array not found in hashtable));&lt;br/&gt;&#xA;--- 134,140 ----&lt;br/&gt;&#xA;              return true;&lt;br/&gt;&#xA;          }&lt;br/&gt;&#xA;          data_array[array_slot] = data_array[--this-count];&lt;br/&gt;&#xA;!         if (! this-search(data_array[array_slot], slot))&lt;br/&gt;&#xA;          {&lt;br/&gt;&#xA;              log_debug(DBR-Hash-Error: (%d; array_slot=%d; count=%d)\n, data_array[array_slot], array_slot, this-count);&lt;br/&gt;&#xA;              throw zmm::Exception(_(DBR-Hash-Error: key in data_array not found in hashtable));&lt;br/&gt;&#xA;***************&lt;br/&gt;&#xA;*** 146,152 ****&lt;br/&gt;&#xA;      inline void put(KT key)&lt;br/&gt;&#xA;      {&lt;br/&gt;&#xA;          struct dbr_hash_slotKT *slot;&lt;br/&gt;&#xA;!         if (! search(key, slot))&lt;br/&gt;&#xA;          {&lt;br/&gt;&#xA;  #ifdef TOMBDEBUG&lt;br/&gt;&#xA;              if (this-count = realCapacity)&lt;br/&gt;&#xA;--- 146,152 ----&lt;br/&gt;&#xA;      inline void put(KT key)&lt;br/&gt;&#xA;      {&lt;br/&gt;&#xA;          struct dbr_hash_slotKT *slot;&lt;br/&gt;&#xA;!         if (! this-search(key, slot))&lt;br/&gt;&#xA;          {&lt;br/&gt;&#xA;  #ifdef TOMBDEBUG&lt;br/&gt;&#xA;              if (this-count = realCapacity)&lt;br/&gt;&#xA;***************&lt;br/&gt;&#xA;*** 194,200 ****&lt;br/&gt;&#xA;      inline bool exists(KT key)&lt;br/&gt;&#xA;      {&lt;br/&gt;&#xA;          struct dbr_hash_slotKT *slot;&lt;br/&gt;&#xA;!         return search(key, slot);&lt;br/&gt;&#xA;      }&lt;br/&gt;&#xA;&lt;br/&gt;&#xA;      /*&lt;br/&gt;&#xA;--- 194,200 ----&lt;br/&gt;&#xA;      inline bool exists(KT key)&lt;br/&gt;&#xA;      {&lt;br/&gt;&#xA;          struct dbr_hash_slotKT *slot;&lt;br/&gt;&#xA;!         return this-search(key, slot);&lt;br/&gt;&#xA;      }&lt;br/&gt;&#xA;&lt;br/&gt;&#xA;      /*&lt;br/&gt;&#xA;***************&lt;br/&gt;&#xA;*** 202,208 ****&lt;br/&gt;&#xA;&lt;br/&gt;&#xA;      inline bool exists(KT key, hash_slot_t *destSlot)&lt;br/&gt;&#xA;      {&lt;br/&gt;&#xA;!         return search(key, (KT **)destSlot);&lt;br/&gt;&#xA;      }&lt;br/&gt;&#xA;      */&lt;br/&gt;&#xA;  };&lt;br/&gt;&#xA;--- 202,208 ----&lt;br/&gt;&#xA;&lt;br/&gt;&#xA;      inline bool exists(KT key, hash_slot_t *destSlot)&lt;br/&gt;&#xA;      {&lt;br/&gt;&#xA;!         return this-search(key, (KT **)destSlot);&lt;br/&gt;&#xA;      }&lt;br/&gt;&#xA;      */&lt;br/&gt;&#xA;  };&lt;br/&gt;&#xA;*** ./src/hash/dso_hash.h.orig  2012-10-22 00:50:27.000000000 +0900&lt;br/&gt;&#xA;--- ./src/hash/dso_hash.h       2014-07-25 16:33:00.461619216 +0900&lt;br/&gt;&#xA;***************&lt;br/&gt;&#xA;*** 100,106 ****&lt;br/&gt;&#xA;      inline bool remove(zmm::String key)&lt;br/&gt;&#xA;      {&lt;br/&gt;&#xA;          struct dso_hash_slotVT *slot;&lt;br/&gt;&#xA;!         if (! search(key, slot))&lt;br/&gt;&#xA;              return false;&lt;br/&gt;&#xA;          slot-key-release();&lt;br/&gt;&#xA;          slot-value-release();&lt;br/&gt;&#xA;--- 100,106 ----&lt;br/&gt;&#xA;      inline bool remove(zmm::String key)&lt;br/&gt;&#xA;      {&lt;br/&gt;&#xA;          struct dso_hash_slotVT *slot;&lt;br/&gt;&#xA;!         if (! this-search(key, slot))&lt;br/&gt;&#xA;              return false;&lt;br/&gt;&#xA;          slot-key-release();&lt;br/&gt;&#xA;          slot-value-release();&lt;br/&gt;&#xA;***************&lt;br/&gt;&#xA;*** 112,118 ****&lt;br/&gt;&#xA;      inline void put(zmm::String key, zmm::RefVT value)&lt;br/&gt;&#xA;      {&lt;br/&gt;&#xA;          struct dso_hash_slotVT *slot;&lt;br/&gt;&#xA;!         search(key, slot);&lt;br/&gt;&#xA;          put(key, (hash_slot_t)slot, value);&lt;br/&gt;&#xA;      }&lt;br/&gt;&#xA;      void put(zmm::String key, hash_slot_t destSlot, zmm::RefVT value)&lt;br/&gt;&#xA;--- 112,118 ----&lt;br/&gt;&#xA;      inline void put(zmm::String key, zmm::RefVT value)&lt;br/&gt;&#xA;      {&lt;br/&gt;&#xA;          struct dso_hash_slotVT *slot;&lt;br/&gt;&#xA;!         this-search(key, slot);&lt;br/&gt;&#xA;          put(key, (hash_slot_t)slot, value);&lt;br/&gt;&#xA;      }&lt;br/&gt;&#xA;      void put(zmm::String key, hash_slot_t destSlot, zmm::RefVT value)&lt;br/&gt;&#xA;***************&lt;br/&gt;&#xA;*** 141,147 ****&lt;br/&gt;&#xA;      inline zmm::RefVT get(zmm::String key)&lt;br/&gt;&#xA;      {&lt;br/&gt;&#xA;          struct dso_hash_slotVT *slot;&lt;br/&gt;&#xA;!         bool found = search(key, slot);&lt;br/&gt;&#xA;          if (found)&lt;br/&gt;&#xA;              return zmm::RefVT(slot-value);&lt;br/&gt;&#xA;          else&lt;br/&gt;&#xA;--- 141,147 ----&lt;br/&gt;&#xA;      inline zmm::RefVT get(zmm::String key)&lt;br/&gt;&#xA;      {&lt;br/&gt;&#xA;          struct dso_hash_slotVT *slot;&lt;br/&gt;&#xA;!         bool found = this-search(key, slot);&lt;br/&gt;&#xA;          if (found)&lt;br/&gt;&#xA;              return zmm::RefVT(slot-value);&lt;br/&gt;&#xA;          else&lt;br/&gt;&#xA;***************&lt;br/&gt;&#xA;*** 153,159 ****&lt;br/&gt;&#xA;      inline zmm::RefVT get(zmm::String key, hash_slot_t *destSlot)&lt;br/&gt;&#xA;      {&lt;br/&gt;&#xA;          struct dso_hash_slotVT **slot = (struct dso_hash_slotVT **)destSlot;&lt;br/&gt;&#xA;!         bool found = search(key, slot);&lt;br/&gt;&#xA;          if (found)&lt;br/&gt;&#xA;              return zmm::RefVT((*slot)-value);&lt;br/&gt;&#xA;          else&lt;br/&gt;&#xA;--- 153,159 ----&lt;br/&gt;&#xA;      inline zmm::RefVT get(zmm::String key, hash_slot_t *destSlot)&lt;br/&gt;&#xA;      {&lt;br/&gt;&#xA;          struct dso_hash_slotVT **slot = (struct dso_hash_slotVT **)destSlot;&lt;br/&gt;&#xA;!         bool found = this-search(key, slot);&lt;br/&gt;&#xA;          if (found)&lt;br/&gt;&#xA;              return zmm::RefVT((*slot)-value);&lt;br/&gt;&#xA;          else&lt;/blockquote&gt;&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
