From: Alexander P. <ale...@us...> - 2008-01-31 11:04:01
|
Build Version : T2.5.0.18163 Firebird 2.5 Unstable (writeBuildNum.sh,v 1.18323 2008/01/31 11:03:57 alexpeshkof ) Update of /cvsroot/firebird/firebird2/src/common/classes In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv15077 Modified Files: array.h vector.h Log Message: First add an element, next increase count - makes class safer in MT world Index: array.h =================================================================== RCS file: /cvsroot/firebird/firebird2/src/common/classes/array.h,v retrieving revision 1.41 retrieving revision 1.42 diff -b -U3 -r1.41 -r1.42 --- array.h 29 Apr 2007 19:04:13 -0000 1.41 +++ array.h 31 Jan 2008 11:03:55 -0000 1.42 @@ -156,8 +156,8 @@ } size_t add(const T& item) { ensureCapacity(count + 1); - data[count++] = item; - return count; + data[count] = item; + return ++count; } // NOTE: remove method must be signal safe // This function may be called in AST. The function doesn't wait. Index: vector.h =================================================================== RCS file: /cvsroot/firebird/firebird2/src/common/classes/vector.h,v retrieving revision 1.17 retrieving revision 1.18 diff -b -U3 -r1.17 -r1.18 --- vector.h 31 Oct 2006 14:23:21 -0000 1.17 +++ vector.h 31 Jan 2008 11:03:55 -0000 1.18 @@ -65,8 +65,8 @@ } size_t add(const T& item) { fb_assert(count < Capacity); - data[count++] = item; - return count; + data[count] = item; + return ++count; } T* remove(size_t index) { fb_assert(index < count); |