UEFITool/bstrlib
2016-11-03 02:40:38 +07:00
..
bsafe.c remove submodule 2016-06-26 10:14:44 +02:00
bsafe.h remove submodule 2016-06-26 10:14:44 +02:00
bstest.c remove submodule 2016-06-26 10:14:44 +02:00
bstraux.c remove submodule 2016-06-26 10:14:44 +02:00
bstraux.h remove submodule 2016-06-26 10:14:44 +02:00
bstrlib.c NE Alpha 35 2016-11-03 02:40:38 +07:00
bstrlib.h remove submodule 2016-06-26 10:14:44 +02:00
bstrlib.txt remove submodule 2016-06-26 10:14:44 +02:00
bstrwrap.cpp UString integration done 2016-07-05 16:18:55 +02:00
bstrwrap.h UEFIDump 0.1.0 for Windows 2016-07-09 08:31:08 +02:00
buniutil.c remove submodule 2016-06-26 10:14:44 +02:00
buniutil.h remove submodule 2016-06-26 10:14:44 +02:00
gpl.txt remove submodule 2016-06-26 10:14:44 +02:00
LICENSE remove submodule 2016-06-26 10:14:44 +02:00
porting.txt remove submodule 2016-06-26 10:14:44 +02:00
README.md remove submodule 2016-06-26 10:14:44 +02:00
security.txt remove submodule 2016-06-26 10:14:44 +02:00
test.cpp remove submodule 2016-06-26 10:14:44 +02:00
testaux.c remove submodule 2016-06-26 10:14:44 +02:00
utf8util.c remove submodule 2016-06-26 10:14:44 +02:00
utf8util.h remove submodule 2016-06-26 10:14:44 +02:00

The Better String Library

The Better String Library is an abstraction of a string data type which is superior to the C library char buffer string type, or C++'s std::string. Among the features achieved are:

  • Substantial mitigation of buffer overflow/overrun problems and other failures that result from erroneous usage of the common C string library functions

  • Significantly simplified string manipulation

  • High performance interoperability with other source/libraries which expect '\0' terminated char buffers

  • Improved overall performance of common string operations

  • Functional equivalency with other more modern languages

The library is totally stand alone, portable (known to work with gcc/g++, MSVC++, Intel C++, WATCOM C/C++, Turbo C, Borland C++, IBM's native CC compiler on Windows, Linux and Mac OS X), high performance, easy to use and is not part of some other collection of data structures. Even the file I/O functions are totally abstracted (so that other stream-like mechanisms, like sockets, can be used.) Nevertheless, it is adequate as a complete replacement of the C string library for string manipulation in any C program.

The library includes a robust C++ wrapper that uses overloaded operators, rich constructors, exceptions, stream I/O and STL to make the CBString struct a natural and powerful string abstraction with more functionality and higher performance than std::string.

Bstrlib is stable, well tested and suitable for any software production environment.