Hello,
i am submitting a small patch for IBPP trunk HEAD revision. I have compiled IBPP on Linux/Debian with gcc 4.3.2.
The patch does the following:
1- adding the inclusiong of cstring to ibpp.h, otherwise while compiling it i would get these errors (here showed when "make"ing the test executable of IBPP):
g++ -DIBPP_LINUX -W -Wall -fPIC -O3 -orelease/core/_dpb.o -c ../../core/_dpb.cpp
../../core/_dpb.cpp: In member function ‘void ibpp_internals::DPB::Grow(int)’:
../../core/_dpb.cpp:62: error: ‘memcpy’ was not declared in this scope
../../core/_dpb.cpp: In member function ‘void ibpp_internals::DPB::Insert(char, const char)’:
../../core/_dpb.cpp:72: error: ‘strlen’ was not declared in this scope
../../core/_dpb.cpp:76: error: ‘strncpy’ was not declared in this scope
make: ** [release/core/_dpb.o] Error 1
2- Adding two simple functions caseUnsensitiveCompare and caseUnsensitiveCompareString for easy case unsensitive comparing of characters and strings, and used them in the int RowImpl::ColumnNum(const std::string& name) function member to simplify a lot its code.
3- Adding a comment on the RowImpl::Get(int column, char* retvalue) function which does not check about the maximum size retvalue could store, the maximum size retvalue could store should be passed as a mandatory argument to the function.
Please review the patch and apply it if you find it sensible.
Thanks,
Greetings,
Luca