Arri is an array API - more commonly known as a buffer API. Arri provides an interface to create, write, copy, duplicate, delete, append and free awways.
It does more than that, though. Arri contains a string API, to handle character strings, an IO API, to handle IO, and a UNIX sockets, to handle... sockets. They all use Arri's array API.
By abstracting all accessing to arrays Arri can eliminate buffer overflows - provided Arri itself is secure, of course. Arri is useful in other respects, however. It provides some high(ish) level functions for C - such as insertion and deletion of data, loops to write n bytes - that although relatively easily implemented without it are still very convenient.
Arri hopes to make C more secure while still maintaining it's advantages - such as high speed. Just as important, Arri also trys to make C *FUN* and easy. The easier it is to program something correctly, the less likely it will be done wrong!
Arri is freely available and it is distributed under the BSD license.
What's New in This Release:
· Some macros were added with safe values for initializing buffers.
· r_buffer and w_buffer were removed from the p_arr data structure and replaced with array.
· The examples were improved.
· p_buf_read_modifiable now checks that you can actually write something.
· p_f_err and p_f_err2 were removed as they were redunant.