-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathChangeLog
2305 lines (1716 loc) · 86.4 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
----- version 0.7 ------
2014-08-10 Mark Lindner <markl@neuromancer>
* <multiple> - Remove all throw() specifications, code formatting
fixes; replace UString with String.
* UTF8Decoder.c++, UTF8Decoder.h++ - implement stopDecodingAtNullChar
* SQLDatabase.c++ - replace UString with String, bugfixes.
* AsyncIOTask.c++, AsyncIOTask.h++, AsyncIOPoller.c++, AsyncIOPoller.h++ -
portability fixes (check for presence of AIO)
* PulseTimer.c++, PulseTimer.h++ - change c'tor args from uint_t to
timespan_s_t.
* MD5Password.c++, MD5Digest.c++, MD5Digest.h++ - bugfixes and code
cleanup
* CircularBuffer.h++, CircularBufferImpl.h++ - use uint_t for sizes and
item counts; added markReadPos(), markWritePos(), rewindReadPos(),
rewindWritePos(), setReadPosFromMark(), setWritePosFromMark()
* StaticObjectPool.h++, StaticObjectPoolImpl.h++, ObjectPool.h++,
DynamicArray.h++, AbstractBuffer.h++, AbstractBufferImpl.h++,
Buffer.h++, BufferImpl.h++, Blob.c++, Blob.h++, Array.h++,
ArrayImpl.h++ - use uint_t for size
* BTree.h++, BTreeImpl.h++ - use uint_t for capacity
* PulsweTimer.h++ - use timespan_s_t for time intervals
* Locale.c++, Locale.h++ - wrap in #ifndef CCXX_OS_ANDROID
* JavaException.c++, JavaException.h++ - add JavaClassLoaderException.
* Common.h++ - removed WNUL
* JavaVirtualMachine.c++, JavaVirtualMachine.h++ - added a c'tor that
takes a JavaVM*.
* Buffer.h++, BufferImpl.h++ - added takeOwnership parameter to c'tor.
* File.c++, File.h++ - added readToString()
* NetworkInterface.c++, NetworkInterface.h++ - removed non-portable code
* DataReader.c++, DataReader.h++ - added readString()
* DataEncoder.c++, DataEncoder.h++ - added ScopedContext
* StopWatch.c++, StopWatch.h++ - renamed from Timer.c++, Timer.h++
* ConditionVar.c++, ConditionVar.h++ - renamed from CondVar.c++,
CondVar.h++
* SocketSelector.c++, SocketSelector.h++ - renamed from
SocketMuxer.c++, SocketMuxer.h++
* AbstractCache.h++, AbstractCacheImpl.h++,
CircularByteBufferDataReader.c++, CircularByteBufferDataReader.h++,
CircularByteBufferDataWriter.c++, CircularByteBufferDataWriter.h++,
DynamicCache.h++, DynamicCacheImpl.h++, Flags.h++, FlagsImpl.h++,
StaticCache.h++, StaticCacheImpl.h++, String.c++, String.h++
- new classes
* Random.c++ - portability fixes for Android
* DirectoryWatcher.c++, Semaphore.c++, MemoryMappedFile.c++,
LoadableModule.c++, FilePtr.c++, SHaredMemoryBlock.c++, Dir.c++,
ServerStreamPipe.c++, Console.c++, TempFile.c++, StreamPipe.c++
- properly handle unicode filenames on Windows
* SQLQuery.c++ - bugfixes; unicode support
* DateTimeFormat.c++ - wrap _format() in #ifndef CCXX_OS_ANDROID
* Network.c++ - reimplement getInterfaces() for Windows to retrieve
missing information
* XMLElementIterator.c++ - implement remove() and fix iteration
2014-03-28 Mark Lindner <markl@neuromancer>
* AsyncIOPoller.c++, AsyncIOPoller.h++, AsyncIOTask.c++,
AsyncIOTask.h++, DateTimeFormat.c++, JavaVirtualMachine.c++,
Locale.c++, Locale.h++, Mutex.c++, POSIX.h++, Random.c++,
SerialPort.c++, ServerStreamPipe.c++, SharedMemoryBlock.c++,
Stream.c++, StreamPipe.c++ - Android portability fixes
* CircularByteBufferDataReader.c++, CircularByteBufferDataReader.h++,
CircularByteBufferDataWriter.c++, CircularByteBufferDataWriter.h++ -
new classes (partially implemented)
* Console.c++ - UTF8 fixes in setTitle()
* JavaContext.c++ - code cleanup; added defineClass() method
* Common.h++ - fixed typo in CCXX_OFFSETOF macro
* DataEncoder.h++ - documentation fix; added ScopedContext
* aux_build/* - updated to latest versions
* Timer.c++, Timer.h++ - renamed to StopWatch
* JavaException.c++, JavaException.h++ - added JavaClassLoaderException
* JavaVirtualMachine.c++, JavaVirtualMachine.h++ - Added new
constructor
* Char.c++, Char.h++ - added toASCII() method
* DataReader.c++, DataReader.h++ - added readBytes() and readFully()
* AbstractBuffer.h++, AbstractBufferImpl.h++ - added new constructor
to wrap an existing byte array
* Buffer.h++, BufferImpl.h++ - added new constructor for wrapping
an existing byte array
* CircularBuffer.h++, CircularBufferImpl.h++ - added markWritePos(),
rewindWritePos(), setReadPosFromMark(), setWritePosFromMark()
* RegExp.c++, RegExp.h++ - rewritten to support UTF-16 strings.
2014-01-22 Mark Lindner <markl@neuromancer>
* LoadableModule.c++, LoadableModule.h++ - add support for opening the
calling process
* BitSet.c++, Blob.c++, ByteBufferDataWriter.c++, Char.c++,
CharOps.c++, DataEncoder.c++, DataReader.c++, DirectoryWatcher.c++,
MD5Digest.c++, Network.c++, PulseTimer.c++, SQLQuery.c++,
StreamPipe.c++, String.c++, System.c++, Thread.c++, Variant.c++,
AbstractBuffer.h++, AbstractBufferImpl.h++, Array.h++, BTree.h++,
BTreeImpl.h++, BasicBufferedStreamImpl.h++, BitSet.h++, Blob.h++,
Buffer.h++, BufferImpl.h++, ByteBufferDataWriter.h++, CharOps.h++,
CircularBuffer.h++, CircularBufferImpl.h++, DataReader.h++,
DynamicArray.h++, DynamicObjectPool.h++, DynamicObjectPoolImpl.h++,
Integers.h++, JavaContext.h++, Network.h++, RefSetImpl.h++,
String.h++, Variant.h++ - fixed compiler warnings, build errors,
64-bit portability problems, typos, etc.
* MD5Password.c++ - bugfixes
* CString.c++, CString.h++ - added operator[]() and bytes()
* CircularByteBufferDataReader.c++, CircularByteBufferDataReader.h++,
CircularByteBufferDataWriter.c++, CircularByteBufferDataWriter.h++ -
new classes
* SocketSelector.c++, SocketSelector.h++ - added beginWrite(),
endWrite(), cancelWrite(), readUInt32(), readUInt64(),
getBytesAvailableToRead(), getBytesAvailableToWrite()
* prce-8.12/*, pcre-8.34/* - upgraded PCRE to latest version
* sqlite-3.7.5/*, sqlite-3.8.2/* - upgraded SQLite to latest version
2013-12-02 Mark Lindner <markl@neuromancer>
* <multiple> - migration to a single 16-bit String class
* <multiple> - code cleanup and class renaming
2013-11-21 Mark Lindner <markl@neuromancer>
* BTreeImpl.h++ - fixed whitespace
* Common.h++ - check for WIN64
* pcre-8.12/configure.gnu, sqlite-3.7.5/configure.gnu,
libiconv-1.13.1/configure.gnu, lib/Makefile.am,
plugintool/Makefile.am, tests/Makefile.am - fixes for out-of-source
builds
* aclocal.m4, aux-build/ltmain.sh, m4/libtool.m4, m4/ltversion.m4 -
updated to newer build tools
----- version 0.6.6 ------
2011-11-26 Mark Lindner <markl@neuromancer>
* SerialPort.c++, SerialPort.h++ - renamed 'StopBits15' enum
constant to 'StopBits1_5'
2011-11-12 Mark Lindner <markl@neuromancer>
* Log.h++ - doc updates
* JavaContext.c++, JavaContext.h++, JavaVirtualMachine.c++,
JavaVirtualMachine.h++, JavaBUffer.c++ - simplified API: combined
attachThread() with getContext(); use native types instead of JNI
types in method signatures
* SerialPort.h++ - made _device member private, and added a getDevice()
accessor
* DataEncoder.h++, Mutex.h++, Date.h++, Socket.h++, FileLogger.h++,
Application.h++, Log.h++, BasicBufferedStream.h++, JavaBuffer.h++,
Stream.h++, Time.h++, SQLPrivate.h++ - doc updates: marked internal
entities as such, so they don't appear in the documentation
2011-09-12 Mark Lindner <markl@neuromancer>
* SQLValueBinder.c++, SQLValueBinder.h++ - added inserters/extractors
for bool types
* Makefile.am - added missing files (Cache.h++, CacheImpl.h++)
* README - updated
* config.opts, config.osx.opts - updated
2011-08-10 Mark Lindner <markl@neuromancer>
* Random.c++ - portability fix for MinGW
* CPUStats.c++ - #ifdef out PDH calls for MinGW
* CStringLessThanFunctor.h++ - added doc comments
* Thread.c++, Thread.h++ - use timespan_ms_t for timespan arguments
* WCharTraits.c++ - portability fix for MinGW
* JavaContext.c++ - bugfixes in string transcoding functions
* cbits/Makefile.am, libatomic/Makefile.am, libstacktrace/Makefile.am
- converted into libtool convenience libraries
* DateTimeFormat.c++ - on Windows, #define _USE_32BIT_TIME_T and
use localtime() and time_t (fixes MinGW portability issues)
* CString.c++, CString.h++ - added new class
* CharOps.c++, CharOps.h++, CharRef.c++, CharRef.h++, UChar.c++,
UChar.h++, UString.c++, UString.h++, UTF8Encoder.c++,
UTF8Encoder.h++, UTF8Decoder.c++, UTF8Decoder.h++ - new string
classes
* Common.h++ - bump verison, add char16_t
* SQLQuery.c++, SQLQuery.h++, SQLPrivate.h++, SQLValueBinder.c++,
SQLValueBinder.h++, SQLDatabase.c++ , SQLDatabase.h++ - new SQL API
* configure.ac - bump version; fix linker args for MinGW
* RegExp.c++ - #define PCRE_STATIC for MinGW
2011-04-22 Mark Lindner <markl@neuromancer>
* ByteOrder.h++, Common.h++, DLLMain.c++, Network.c++, Private.h++,
Socket.h++, SocketMuxer.c++ - Windows bugfix: clean up #includes of
<winsock2.h>, and move FD_SETSIZE redefinition
* Process.c++ - Windows bugfix: mark unneeded pipe handles as
not inheritable
* CondVar.h++ - fwd decl Mutex
* Cache.h++, CacheImpl.h++ - new class
* Log.h++ - added printf attribute (gcc only)
* ReadWriteLock.h++, ThreadLocal.h++ - disable copy/assignment
* JavaContext.c++ - bugfix in parseSignature()
2011-04-06 Mark Lindner <markl@neuromancer>
* Exception.h++ - subclass std::exception
----- version 0.6.5 ------
2011-03-05 Mark Lindner <markl@neuromancer>
* AsyncIOPoller.c++, AsyncIOPoller.h++, AsyncIOTask.c++,
AsyncIOTask.h++, BoundedQueue.h++, BoundedQueueImpl.h++,
Integers.h++, Mutex.c++, Mutex.h++, POSIX.c++, POSIX.h++,
ReadWriteLock.c++, ReadWriteLock.h++, SerialPort.c++, SerialPort.h++,
Socket.c++, Socket.h++, Stream.c++, Stream.h++, StreamSocket.c++,
StreamSocket.h++ - added timespan_ms_t and timespan_s_t for all
timeout parameters
* pcre-8.12/* - updated to PCRE 8.12
* sqlite-3.7.5/* - updated to sqlite 3.7.5
* configure.ac, commonc++.sln, commonc++.vcproj, commonc++db.vcproj,
Makefile.am, lib/Makefile.am - updated pointers to new versions of
pcre & sqlite
* aclocal.m4, m4/*, aux_build/ltmain.sh - updated to libtool 2.2.10
2011-03-05 Mark Lindner <[email protected]>
* LoadableModule.c++ - bugfix; return correct shared library extension
on Mac OS X.
* tests/* - unit test fixes
2011-02-27 Mark Lindner <markl@neuromancer>
* config.osx.opts - fixed for Snow Leopard
* DataReader.c++, FileLogger.c++, Network.c++ - fixed compiler warnings
* DynamicArray.h++ - removed unnecessary operator[](uint_t) methods
* StreamPipe.c++ - fixed compiler warnings
* Array.H++, BitSet.c++, BitSet.h++, MACAddress.c++, MACAddress.h++,
MemoryBlock.c++, MemoryBlock.h++, SearchPath.c++, SearchPath.h++ -
changed all operator[](uint_t) to operator[](int)
2011-02-26 Mark Lindner <markl@neuromancer>
* UUID.c++ - code cleanup for Win32; added file back to the project
* Process.c++ - bugfix; use correct win32 priority constants in
setPriority()
* System.c++ - use _timeb, _ftime in currentTime() instead of
__timeb32, ftime32
* Console.c++ - #define COMMON_LVB_*, if necessary
* ServerSocket.c++ - use SocketHandle instead of int for socket
descriptor in accept()
* *.vcproj - various cleanup
* libatomic/Makefile.am - added assembler flags for LINUX_PPC
2011-02-10 Mark Lindner <markl@neuromancer>
* Console.c++ - added missing #include
2011-02-09 Mark Lindner <markl@neuromancer>
* BasicCharTraits.h++, Buffer.h++, CircularBuffer.h++, SocketUtil.c++,
MemoryStats.c++ - cleaned up some #includes of <cstdlib>
* CircularBufferImpl.h++ - removed some dead code
* CharTraits.c++ - std::strtof -> strtof (portability fix)
* configure.ac, cpp_config.h.in - removed problematic (and unnecessary)
AC_FUNC_REALLOC macro, which caused 'undefined ::realloc' errors on
some platforms; moved libbfd tests so they only run when
--with-binutils is specified
2011-02-06 Mark Lindner <markl@neuromancer>
* TempFile.c++, TempFile.h++ - fixed implementation to atomically
replace file contents on close (when path supplied)
* AllocationMap.c++, AllocationMap.h++ - modified to not subclass
BitSet
* aclocal.m4 - regenerated with autoconf 2.67
* configure.ac, lib/doxygen.cfg, lib/Makefile.am, Common.h++ - bump
versions
* plugintool/* - added '--sha1' switch
2011-02-05 Mark Lindner <markl@neuromancer>
* Dir.c++ - bugfix in rewind()
* CPUStats.c++ - bugfix in reset()
* Digest.c++, Digest.h++, MD5Digest.c++, MD5Digest.h++, SHA1Digest.c++,
SHA1Digest.h++ - code refactoring and new SHA1Digest class
----- version 0.6.4 ------
2010-09-03 Mark Lindner <markl@neuromancer>
* sqlite/* - removed old version of sqlite
* sqlite-3.7.2/* - added new version sqlite
* Makefile.am, configure.ac, lib/Makefile.am - updates for sqlite-3.7.2
* m4/*, aux_build/* - updated files to newer versions
2010-08-12 Mark Lindner <markl@neuromancer>
* Hash.c++, Hash.h++ - added general-purpose hash functions.
* StreamSocket.c++, DatagramSocket.c++, Socket.c++, Socket.h++
- close and de-initialize the socket if a connect() fails
* Locale.h++ - portability fix (__locale_t vs locale_t; LC_ALL_MASK)
* BasicStringImpl.h++, Blob.c++ - replaced in-line hashing code with
calls to Hash::SDBMhash()
* BasicString.h++ - removed unnecessary #include
* Network.c++ - bugfixes: proper reporting of ERANGE error from
getHostByName(), getHostByAddr(), getServByName(), getServByPort();
use dynamic buffers and resize-and-retry in getPortForService()
and getServiceForPort()
* InetAddress.c++ - check if Network::getHostByName() and
Network::getHostByAddr() return values != 0 rather than < 0.
2010-07-22 Mark Lindner <markl@neuromancer>
* File.c++, File.h++ - added removeDirectoryTree()
* SocketUtil.c++ - fixed VC10 compiler error in div() call
* SocketMuxer.h++, Logger.h++ - fixed VC10 compiler errors
* commonc++props.vsprops - bumped JDK version to latest
2010-06-14 Mark Lindner <markl@neuromancer>
* PluginLoader.c++, PluginLoader.h++, PluginLoaderImpl.h++, Plugin.h++
- converted PluginLoader template to a concrete class with one
template function; added getClassName()
* Makefile.am, configure.ac, plugintool/* - added plugintool
2010-05-20 Mark Lindner <markl@neuromancer>
* DirectoryWatcher.c++ - conditionally compile inotify logic only
if inotify is available
* Locale.c++, Locale.h++ - use pre-standardized locale functions, if
available
* RegExp.c++ - fix compiler warning
* Common.h++ - bump version
* configure.ac - bump version
* aclocal.m4, cpp_config.h.in, sqlite/libtool - regenerated files;
added autoconf tests for locale & inotify functions
----- version 0.6.3 ------
2010-04-17 Mark Lindner <markl@neuromancer>
* InetAddress.c++, InetAddress.h++ - added isLinkLocal()
* StreamSocket.h++ - added some more delegate methods
* AsyncIOTask.c++, AsyncIOTask.h++ - Bugfixes to error handling logic;
properly report cancelled tasks with InterruptedException, EOF with
EOFException, and other errors with IOException; and report
failed tasks as 'completed'.
* *.sln, *.vcproj - updated to Visual Studio 2008.
* Console.c++ - removed unused variable; added #include to fix
build error on Mac OS X
2010-03-25 Mark Lindner <markl@neuromancer>
* Stream.c++, Stream.h++, AsyncIOTask.c++, AsyncIOTask.h++,
AsyncIOPoller.c++, AsyncIOPoller.h++ - fixes in async I/O functions:
properly update the position of a ByteBuffer after the completion of
an I/O operation; collect the results of the async I/O operation in
AsyncIOTask::isCompleted() instead of in
AsyncIOTask::getBytesTransferred(); also, automatically collect the
results of the async I/O operation in AsyncIOTask::waitFor().
* RegExp.c++, RegExp.h++ - added escapeMeta()
* Locale.c++ - attempt to use setlocale() if uselocale() is not
available
* configure.ac, libstacktrace/Makefile.am,
libstacktrace/stacktrace_generi.cpp -
only use BFD functions if --with-binutils was specified
* Runnable.h++ - added RunnableClosure
* Network.c++ - bugfixes in handling of error codes from
gethostbyname_r() and gethostbyaddr_r()
2010-03-07 Mark Lindner <markl@neuromancer>
* EnumTraits.h++, Integers.h++ - moved EnumTraits to separate header;
added EnumMap
* BitSet.h++ - added firstSetBit() and firstClearBit()
* BasicStringImpl.h++ - fixed some compiler warnings
2010-01-16 Mark Lindner <markl@neuromancer>
* Console.c++, Console.h++ - added read() and setEcho()
2010-01-15 Mark Lindner <markl@neuromancer>
* SocketMuxer.c++, SocketMuxer.h++ - added bufferSize parameter to
Connection constructor
* SharedMemoryBlock.c++ - bugfix: properly support read-only
mappings
----- version 0.6.2 ------
2010-01-04 Mark Lindner <markl@neuromancer>
* BoundedQueue.h++, BoundedQueueImpl.h++ - changed type of capacity
member to uint_t.
* Integers.h++ - documentation fixes for enum_cast()
2010-01-02 Mark Lindner <markl@neuromancer>
* SearchPath.c++, SearchPath.h++ - added fromString()
* Common.h++ - bumped version; added CCXX_VERSION_*() macros
* JavaVirtualMachine.c++ - added -Xrs argument to JVM when starting
a server VM; this disables the catching of most signals, like SIGINT
* SQLDatabase.c++, SQLDatabase.h++ - fixed crash in close() when called
on already-closed database; return PreparedStatement as pointer
rather than SharedPtr in execute()
2009-12-31 Mark Lindner <markl@neuromancer>
* DirectoryWatcher.c++, DirectoryWatcher.h++ - new class
* ServerStreamPipe.c++, ServerStreamPipe.h++ - fixed exception
specification for constructor
* SharedMemoryBlock.c++, SharedMemoryBlock.h++ - modified to not
throw SystemException in constructor
* Semaphore.c++, Semaphore.h++ - modified to not
throw SystemException in constructor; added init() method
2009-12-10 Mark Lindner <markl@neuromancer>
* TimeSpec.c++ - removed unnecessary #include
* DynamicObjectPool.h++, DynamicObjectPoolImpl.h++ - moved #include
outside namespace
2009-12-07 Mark Lindner <mlindner@chimera>
* SharedPtr.h++ - added get()
2009-12-04 Mark Lindner <markl@neuromancer>
* Common.h++ - fixed CCXX_VERSION
2009-12-03 Mark Lindner <mlindner@chimera>
* XDREncoder.c++ - bugfix: length was not being encoded for WString
and Blob types
2009-11-24 Mark Lindner <markl@neuromancer>
* Thread.c++ - win32 bugfix: use manual-reset event for _cancelEvent
* SharedPtr.h++ - properly reimplemented dynamicCast(); replaced
overriden cast operator with staticCast(); fixed typo in
operator==(); made _object member private
2009-11-23 Mark Lindner <markl@neuromancer>
* Process.c++ - Reimplemented getExecutablePath() for Mac OS X, to
remove dependency on CoreFoundation framework; bugfix: initialize
stream members to NULL in c'tor
* Network.c++, Network.h++ - bugfixes in deep-copy of struct hostent
* ServerSocket.c++ - removed erroneous line of code in accept() that
copied the server socket's local address to the accept socket
----- version 0.6.1 ------
2009-10-31 Mark Lindner <markl@neuromancer>
* Application.c++, Application.h++ - hooked up unhandled/unexpected
exception handlers and made them private
2009-10-28 Mark Lindner <markl@neuromancer>
* SystemStats.c++, SystemStats.h++, CPUStats.c++, CPUStats.h++,
LoadAverageStats.c++, LoadAverageStats.h++, MemoryStats.c++,
MemoryStats.h++, SystemStatsCollector.c++, SystemStatsCollector.h++ -
reworked stats API; finished Windows implementation of CPUStats;
removed SystemStatsCollector; removed wmilib project
2009-10-27 Mark Lindner <markl@neuromancer>
* Makefile.am - add missing Windows build files to dist target
2009-10-24 Mark Lindner <markl@neuromancer>
* LogFormat.c++ - fixed formatting of thread IDs
* CPUStats.c++, CPUStats.h++ - finished Mac OS X implementation;
bugfixes in POSIX (/proc) implementation
* MemoryStats.c++ - fixed Mac OS X bug
2009-10-21 Mark Lindner <markl@neuromancer>
* tests/TestHarness.c++, tests/TestHarness.h++ - reworked with improved
test result output
* libstacktrace/stacktrace_generic.cpp - fixed crash when object
file cannot be opened
* configure.ac, aclocal.m4 - bump version
* StreamPipe.c++, StreamPipe.h++ - complete sendFileHandle() and
receiveFileHandle() implementation for Windows
2009-08-03 Mark Lindner <markl@neuromancer>
* ScopedPtr.h++ - added isNull() and release();
throw NullPointerException where appropriate
* ServerSocket.c++, ServerSocket.h++ - added isListening()
* SocketMuxer.c++, SocketMuxer.h++ - added additional checks in init(),
and changed return value to bool to indicate success
* InetAddress.c++, Network.c++ - bugfixes in error handling for
gethostbyaddr(), gethostbyname(); implemented buffer resizing logic
* SharedPtr.h++ - added operator*()
2009-07-11 Mark Lindner <markl@neuromancer>
* SharedPtr.h++ - fixed reference counting bug; removed unnecessary
c'tor
2009-07-06 Mark Lindner <markl@neuromancer>
* ScopedPtr.h++ - removed useless ScopedArrayPtr template
* DynamicArray.h++ - various enhancements
2009-07-05 Mark Lindner <markl@neuromancer>
* Version.h++, LoadableModule.c++ - removed Version::operator String().
* BitSet.h++ - removed operator String().
2009-07-04 Mark Lindner <markl@neuromancer>
* AllocationMap.c++, AllocationMap.h++ - reimplemented as a subclass
of BitSet.
* BitSet.c++, BitSet.h++ - added nextSetBit(), nextClearBit().
* sqlite/Makefile.am, sqlite/configure.gnu - added
CFLAGS=-DSQLITE_ENABLE_COLUMN_METADATA; added .vcproj file to
EXTRA_DIST
* ServerSocket.c++ - handle EADDRINUSE in listen()
* SQLDatabase.c++, SQLDatabase.h++ - added some new methods
* configure.ac, Makefile.am, wmilib/Makefile.am - added wmilib
subproject
* Makefile.am, configure.ac - bump version to 0.6.1
2009-07-03 Mark Lindner <markl@neuromancer>
* Socket.c++, commonc++/Socket.h++, SocketException.c++,
commonc++/SocketException.h++, Private.h++ - added
AddressInUseException, moved all SocketExceptions into separate
source/header file.
2009-06-30 Mark Lindner <markl@neuromancer>
* InetAddress.c++, Network.c++ - Windows-specific bugfixes for
handling of in_addr type.
* Checksum.c++, Checksum.h++, CRC32Checksum.c++, CRC32Checksum.h++
- new classes
2009-06-25 Mark Lindner <markl@neuromancer>
* FileLogger.c++ - fix path construction to prevent doubled file
separators when log directory is root directory.
* SocketMuxer.c++, SocketMuxer.h++ - made select() timeout interval
configurable through constructor.
2009-06-22 Mark Lindner <markl@neuromancer>
* List.h++, ListImpl.h++, Link.h++ - removed classes
2009-06-21 Mark Lindner <markl@neuromancer>
* File.c++ - fix potential race condition in implementation of
makeDirectory(); return true if directory already exists.
* Version.c++, Version.h++ - supplied operator<<(ostream)
implementation, added fromString()
* SharedPtr.h++ - added isNull() and additional operator=()
2009-06-03 Mark Lindner <markl@neuromancer>
* CharsetConverter.c++ - fixed uninitialized pointer
* configure.ac, libatomic/Makefile.am - add platform check for Linux
on PowerPC
* atomic_generic_ppc.s - renamed from atomic_darwin_ppc.s
* File.c++, File.h++ - added getDiskBlockSize() and
roundSizeToBlockSize()
* SocketAddress.h++ - removed 'explicit' from copy c'tor
----- version 0.6 ------
2009-05-26 Mark Lindner <markl@neuromancer>
* Random.c++, SerialPort.c++ - added missing #include <unistd.h>
2009-05-23 Mark Lindner <markl@neuromancer>
* *.m4, m4/*, Makefile.am, configure.ac, ltmain.sh, aclocal.m4 -
upgraded to libtool 2.2.6; moved all .m4 files to m4 directory
* InetAddress.h++, SocketAddress.h++ - added global operator<<()
* confgure.ac, cpp_config.h.in - fixed broken getXXXXbyYYYY_r tests;
removed unneeded test for openpty()
2009-05-22 Mark Lindner <markl@neuromancer>
* FileName.c++ - fixed implementation of isAbsolute() for Windows
* Stream.c++ - added proper handling of EINTR for read(), write(),
readv(), and writev()
* File.c++ - added proper handling of EINTR in copy()
* Char.c++, CircularBuffer.c++, Buffer.c++, String.c++,
WChar.c++, CharTraits.c++, WCharTraits.c++ - added
explicit template instantiations
* Thread.c++, System.c++, LoadAverageStats.c++, Service.c++ -
#include statement cleanup
* Variant.c++, XMLElement.c++, XMLElement.h++, BasicString.h++,
BasicImplString.h++ - renamed to*Long() and to*LongLong() to
to*Int() and to*Int64()
* configure.ac, cpp_config.h.in - added AC_GNU_SOURCE to enable
GNU extensions
2009-05-21 Mark Lindner <markl@neuromancer>
* Random.c++, LogFormat.c++, Process.c++, Process.h++, System.c++,
System.h++, Thread.c++, Thread.h++, Application.c++, SystemLog.c++,
Service.c++ - moved process-related functions from System to
Process, and thread-related functions from System to Thread.
* pcre/configure.gnu, sqlite/configure.gnu - added wrapper scripts
to suppress shared libraries and disable global installation
2009-05-21 Mark Lindner <mlindner@chimera>
* Network.c++ - fixed calls to gethostbyaddr_r() and gethostbyname_r()
to transparently handle glibc bug.
* cpp_config.h.in, configure.ac - removed gethostbyaddr_r() test, as it
is no longer needed, and it always failed when cross-compiling;
changed openpty() test from AC_TRY_COMPILE to AC_CHECK_LIB; changed
all remaining AC_TRY_COMPILE tests to be AC_TRY_LINK to prevent
cross-compilation test failures
2009-05-20 Mark Lindner <markl@neuromancer>
* SocketMuxer.c++, SocketMuxer.h++ - added dataSent() callback;
made Connection::isClosePending() public
* ax_cxx_gcc_abi_demangle.m4 - fixed compilation errors in code
fragment
* configure.ac, cpp_config.h.in - added check for dladdr() function
* libstacktrace/stacktrace_generic.cpp - fixed compiler errors
(gcc 4.3.0)
2009-05-19 Mark Lindner <markl@neuromancer>
* NetworkInterface.c++, NetworkInterface.h++, InetAddress.c++,
InetAddress.h++, SocketAddress.c++, SocketAddress.h++,
MulticastSocket.c++, MulticastSocket.h++, Network.c++, Network.h++,
StreamSocket.c++, ServerSocket.c++, DatagramSocket.c++ -
refactoring to add new InetAddress class
* configure.ac, cpp_config.h.in - added tests for phtread_yield(),
inet_aton()
* Private.h++ - fixed typedef of in_addr_t for Windows
2009-05-09 Mark Lindner <markl@neuromancer>
* Hex.c++, Hex.h++, Variant.c++, UUID.c++, HexCodec.c++,
HexCodec.h++ - renamed HexCodec to Hex
2009-05-08 Mark Lindner <markl@neuromancer>
* System.c++ - check TMPDIR environment variable and P_tmpdir stdio
constant when determining location of system temp dir (POSIX)
* XDRCodec.++, XDRCodec.h++ - removed
* *BufferDataWriter.c++, *BufferDataReader.h++ - renamed
BufferData{Reader,Writer} to ByteArrayBufferData{Reader,Writer}.
Added ByteBufferData{Reader,Writer}.
* XDREncoder.c++, XDREncoder.h++, XDRDecoder.c++, XDRDecoder.h++ -
added replacements for XDRCodec.
* Buffer.h++, BufferImpl.h++ - added fill(); bugfix in skip()
2009-05-07 Mark Lindner <markl@neuromancer>
* Blob.h++, CStringBuilder.h++, CStringBuilder.c++ - modified clear()
to return *this
* DataReader.c++, DataReader.h++, DataWriter.c++, DataWriter.h++ -
added support for float & double
* Base64Codec.c++, Base64Codec.h++ - renamed to Base64.c++, Base64.h++
2009-05-05 Mark Lindner <markl@neuromancer>
* BasicString.h++ - modified clear() to return *this
2009-05-04 Mark Lindner <markl@neuromancer>
* MemoryMappedFile.c++, SerialPort.c++, File.c++ - bugfix; handle
ERROR_PATH_NOT_FOUND in addition to ERROR_FILE_NOT_FOUND (Windows).
* SocketMuxer.c++ - fixed deadlock in writeAll()
2009-05-02 Mark Lindner <markl@neuromancer>
* Stream.c++ - fixed erroneous throw of EOFException in Stream::read()
on Windows to throw TimeoutException instead
* Socket.c++ - bufix; don't attempt fcntl() in setTimeout() if
socket is not yet initialized; do isInitialized() check in all set*()
functions.
2009-04-27 Mark Lindner <markl@neuromancer>
* Permissions.c++, Permissions.h++, FileName.h++, TimeSpec.c++,
TimeSpec.h++, TimeSpan.h++, SearchPath.h++, URL.h++, UUID.h++,
Locale.h++, RegExp.h++, BitSet.h++ - cleaned up toString()
inconsistencies
* DatabaseEnv.c++, DatabaseEnv.h++, PersistentObject.h++,
Database.c++, Database.h++ - removed BDB wrapper classes
* SQLDatabase.c++, SQLDatabase.h++, SQLException.c++,
SQLException.h++ - Added SQLite wrapper classes
* Version.c++, Version.h++ - renamed getVersion() to toCRAString()
* Stream.c++, Stream.h++ - added optional 'count' parameter to
readFully(ByteBuffer&) and readFully(CharBuffer&)
* config.opts, configure.ac, lib/doxygen.cfg, lib/doxygen.cfg.in,
lib/Makefile.am, cpp_config.h.in, sqlite/* - bumped version, removed
all BDB dependencies, added SQLite distribution
2009-04-25 Mark Lindner <markl@neuromancer>
* RegExp.h++ - fixed initializers in RegExpMatch, added isValid()
* SerialPort.c++ - removed unnecessary #include
* CondVar.c++ - check for EBUSY from pthread_cond_destroy()
* SocketAddress.c++, SocketAddress.h++ - added reset() and toString()
* Common.h++ - fixed ___DEPRECATED and ___NORETURN macros
* Numeric.h++ - added numeric_clip()
* SharedPtr.h++ - added operator==, operator!=
* Socket.c++ - reset remote and local addresses in shutdown().
* Socket.c++, Socket.h++, StreamSocket.c++, DatagramSocket.c++,
IOException.h++ - replaced ConnectionLostException with EOFException
for consistency.
* IOException.h++ - documentation update
* File.h++ - documentation fix
* SocketMuxer.c++, SocketMuxer.h++ - replaced connectionLost() with
connectionTimedOut(), and related bugfixes
2009-03-31 Mark Lindner <mlindner@chimera>
* Dir.c++, File.h++ - added support for additional filetypes in
FileAttributes
2009-03-25 Mark Lindner <mlindner@chimera>
* CircularBuffer.h++, CircularBufferImpl.h++ - bugfix: override
setSize() to update the _end member
2009-03-14 Mark Lindner <markl@neuromancer>
* StreamPipe.c++, StreamPipe.h++ - added sendFileHandle() and
receiveFileHandle() (partial implementation)
2009-03-13 Mark Lindner <mlindner@chimera>
* IntervalTimer.c++, IntervalTimer.h++ - new class
* AsyncIOTask.c++, CondVar.c++, Mutex.c++, Process.c++, Semaphore.c++,
Stream.c++, Thread.c++ - replace Sleep() with SleepEx() and
WaitForSingleObject() with WaitForSingleObjectEx() so that the
'alertable' flag can be specified as TRUE.
2009-03-08 Mark Lindner <markl@neuromancer>
* Version.c++, Version.h++ - added toString()
* Locale.c++, Locale.h++ - new class
* Console.c++, Console.h++, WindowsConsole.c++, WindowsConsole.h++,
System.c++, ConsoleLogger.c++, ConsoleLogger.h++ - refactored
WindowsConsole into Console class that is available on all platforms
* SharedPtr.h++ - made constructor argument optional
* URL.c++ - bugfixes in assignment operator & copy constructor
(_canonicalPath member wasn't being copied)
* DateTime.c++, DateTime.h++ - added getTimeZone()
* DateTimeFormat.c++ - began updating code to use Locale and
DateTime::getTimeZone()
2009-03-04 Mark Lindner <markl@neuromancer>
* <multiple> - removed JavaScript API and Visual Studio 7.10 support
2009-02-27 Mark Lindner <mlindner@chimera>
* SystemStats.c++, SystemStats.h++, CPUStats.c++, CPUStats.h++,
LoadAverageStats.c++, LoadAverageStats.h++,
MemoryStats.c++, MemoryStats.h++, SystemStatsCollector.c++,
SystemStatsCollector.h++ - partial implementation of new system
stats API
* Makefile.am - updated file list
2009-02-04 Mark Lindner <mlindner@chimera>
* URL.c++, URL.h++ - added path canonicalization
2009-01-30 Mark Lindner <mlindner@chimera>
* CharTraits.c++, BasicCharTraits.c++ - fixed return value from
vprintf()
* StreamDataWriter.c++ - bugfixes
* Application.c++ - fixed minor issue in text formatting in
printUsage()
2009-01-25 Mark Lindner <mlindner@chimera>
* AsyncIOTask.c++ - fixed Windows event handle leak in init()
2009-01-22 Mark Lindner <mlindner@chimera>
* CharTraits.c++, BasicCharTraits.h++ - fixed return value for
vprintf() to be consistent across platforms
* Log.c++, Log.h++ - bugfixes and new interfaces to fix
crash due to improper use of varargs macros.
2009-01-21 Mark Lindner <mlindner@chimera>
* libatomic/Makefile.am, libstacktrace/Makefile.am - added -fPIC
for position-independent code
* BasicBufferedStream.h++, BasicBufferedStreamImpl.h++ - fixed
gcc 4.2.x compile errors
* configure.ac - added check for 'rt' library
* Network.c++ - bugfix to getInterfaces() (failed on 64-bit Linux)
2009-01-12 Mark Lindner <mlindner@chimera>
* Stream.c++ - handle EOF condition for overlapped I/O (Windows)
and readv() (POSIX)
* StreamDataReader.c++ - bugfix: don't refill the buffer after a
seek(); prevents premature EOFException
----- version 0.5.2 ------
2009-01-11 Mark Lindner <markl@neuromancer>
* SocketMuxer.c++, SocketMuxer.h++ - add 'immediate' flag to
Connection::close(); passing false (the default) allows pending
data to be written before the socket is closed (change suggested
by Shaun Cummins)
* Numeric.h++ - added numeric_cast and numeric_clipping_cast
template functions
2008-12-13 Mark Lindner <markl@neuromancer>
* AsyncIOPoller.c++, AsyncIOPoller.h++ - new class
* AsyncIOTask.h++ - added getFileHandle()
* PulseTimer.c++ - check for system clock rollback
2008-12-10 Mark Lindner <mlindner@chimera>
* File.h++ - added getPath()
2008-12-09 Mark Lindner <mlindner@chimera>
* Service.c++, Service.h++ - disable interactive error dialog boxes
on Windows
2008-12-08 Mark Lindner <markl@neuromancer>
* configure.ac, cpp_config.h.in - add test for sizeof time_t; bump
version
* TimeSpec.c++, TimeSpec.h++, Dir.c++, Timer.c++, Timer.h++,
File.c++, File.h++, POSIX.c++, POSIX.h++, Windows.c++,
Windows.h++, Process.c++, Process.h++, SocketMuxer.c++,
SocketMuxer.h++, BoundedQueueImpl.h++, Common.h++, Integers.h++,
System.c++, System.h++, Thread.c++, PulseTimer.c++, PulseTimer.h++,
SocketUtil.c++, DateTime.c++, DateTime.h++, DateTimeFormat.c++,
*.vcproj - replaced time_t and TimeValue with time_s_t and
time_ms_t; removed dependence on _USE_32BIT_TIME_T for Windows;
changed times in FileAttributes to time_ms_t
2008-12-02 Mark Lindner <mlindner@chimera>
* AsyncIOTask.c++, AsyncIOTask.h++, Stream.c++, Stream.h++,
File.c++, Makefile.am - add support for async I/O
* Service.c++, Service.h++ - added support for '--displayname'
switch.
2008-11-21 Mark Lindner <mlindner@chimera>
* Integers.h++ - moved byte_t and uint_t into ccxx namespace;
added enum_cast<>() and EnumTraits
2008-11-03 Mark Lindner <mlindner@chimera>
* Thread.c++ - check for system clock rollback in trySleep()
----- version 0.5.1 ------
2008-10-10 Mark Lindner <markl@neuromancer>
* JavaContext.c++, JavaContext.h++ - added WString methods
2008-10-03 Mark Lindner <mlindner@chimera>
* System.c++, System.h++ - added setConsoleTitle()
2008-09-26 Mark Lindner <mlindner@chimera>
* FileLogger.c++ - bugfix; delete File object in destructor
2008-09-22 Mark Lindner <mlindner@chimera>
* Date.c++ - off-by-1 bugfix in isValid()
* DateTime.c++ - deadlock fix in static initializer
2008-09-18 Mark Lindner <mlindner@chimera>
* DataReader.c++, DataReader.h++, DataWriter.c++, DataWriter.h++
- add more read/write methods
2008-09-16 Mark Lindner <markl@neuromancer>
* CharTraits.c++, WCharTraits.c++, BasicCharTraits.h++ - add
rawCompare()
* configure.ac - bump version
2008-09-15 Mark Lindner <markl@neuromancer>
* DateTime.c++, DateTime.h++ - add isDSTActive() and getGMTOffset()
* BasicCharTraits.h++, CharTraits.c++, WCharTraits.c++ - add
rawCompare()
2008-09-10 Mark Lindner <mlindner@chimera>
* SocketMuxer.h++ - fix doc typos
2008-09-09 Mark Lindner <mlindner@chimera>
* BitSet.c++, BitSet.h++ - add toString()
* Logger.c++ - bugfix
2008-09-08 Mark Lindner <markl@neuromancer>
* Integers.h++ - MinGW fix
* TimeSpan.c++, TimeSpan.h++ - add toString(); fix integer overflow
in _computeFields(); fix uint64_t constructor to take int64_t
* SharedPtr.h++ - another bugfix in cast operator
2008-09-05 Mark Lindner <mlindner@chimera>
* SharedPtr.h++ - bugfix in cast operator
* DataEncoder.h++, StreamDataWriter.c++, DataEncoder.c++,
BufferDataWriter.c++ - bugfixes in limit when writing
2008-09-04 Mark Lindner <markl@neuromancer>
* CharTraits.c++, WCharTraits.c++ - BasicCharTraits.h++ - add optional
len param to find()
* Common.h++ - add typedef of off64_t for Windows
* WindowsConsole.c++, WindowsConsole.h++ - make len param optional
in write()
* BasicCodec.c++, BasicCodec.h++ - removed
* Application.c++ - bugfix; check return value from processOption()
2008-09-03 Mark Lindner <mlindner@chimera>
* BufferDataReader.c++, BufferDataReader.h++, BufferDataWriter.c++,
BufferDataWriter.h++, DataReader.c++, DataReader.h++,
DataWriter.c++, DataWriter.h++, StreamDataReader.h++,
StreamDataWriter.h++ - refactoring of BasicCodec class
* Makefile.am - update file list
2008-08-29 Mark Lindner <mlindner@chimera>
* SharedPtr.h++ - add dynamicCast()
2008-08-27 Mark Lindner <mlindner@chimera>
* BasicCodec.c++, BasicCodec.h++ - bugfixes
* CircularBufferImpl.h++ - bugfix in fill()
2008-08-26 Mark Lindner <markl@neuromancer>
* BasicCodec.c++, BasicCodec.h++ - bugfixes; added flush()
* CharTraits.c++, WCharTraits.c++, BasicCharTraits.h++ -
add toInt(), fromInt()
2008-08-25 Mark Lindner <mlindner@chimera>
* DateTimeFormat.c++ - use CharTraits::toLong() instead of strtol()
* BasicCodec.c++, BasicCodec.h++ - add flush()
2008-08-19 Mark Lindner <mlindner@chimera>
* Blob.c++, Blob.h++ - added indexOf() and lastIndexOf() for
byte sequences
----- version 0.5 ------
2008-08-14 Mark Lindner <markl@neuromancer>
* WindowsConsole.c++, WindowsConsole.h++, System.c++ - moved logic
that determines console size
2008-08-13 Mark Lindner <mlindner@chimera>
* DateTime.h++ - add delegator methods for setTime() and setDate()
* TerminalAttr.h++ - define codes unconditionally on all platforms
* WindowsConsole.c++, WindowsConsole.h++ - new class
* ConsoleLogger.c++, ConsoleLogger.h++, LogFormat.c++ - add support
for text styles/colors on Windows
* commonc++.vcproj - update project
2008-08-12 Mark Lindner <mlindner@chimera>
* CircularBuffer.h++, CircularBufferImpl.h++ - added isFull() and
fill()
* DateTime.c++, DateTime.h++ - added setDate() and setTime()
2008-08-08 Mark Lindner <markl@neuromancer>
* System.c++ - add missing #include <limits.h>
* Network.h++ - fix compiler warning
* Common.h++ - add new enums Endianness and CodecMode
* ByteOrder.h++ - add getEndianness()
* XDRCodec.c++, XDRCodec.h++ - replace XDRMode with CodecMode, and
some associated refactoring
* Random.c++, UUID.c++ - fix win32 build errors
* CharTraits.c++, WCharTraits.c++, BasicCharTraits.h++ - fix
portability issues with return value from vsprintf() and update docs
* BasicStringImpl.h++ - fix portability issues with return value from
BasicCharTraits::vprintf()
* BasicCodec.c++, BasicCodec.h++ - new class (partial impl)
* CircularBuffer.h++, CircularBufferImpl.h++, SocketMuxer.c++,
BasicBufferedStreamImpl.h++ - reverse names of read() and
write() functions to match what they conceptually mean
2008-07-30 Mark Lindner <mlindner@chimera>
* DatagramSocket.c++, DatagramSocket.h++ - added MAX_DATAGRAM_SIZE
* lib/Makefile.am - fixed linker lines
* Thread.h++ - make yield() protected