A modern wrapper for libc with less boilerplate
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
anna 7d1227f435
add limits.h
2 years ago
.vscode initial commit uwu 2 years ago
contrib doc: install doxygen-awesome-css theme 2 years ago
demo error: add errmsg_raw utility 2 years ago
doc doc: use doxygen-awesome theme 2 years ago
include add limits.h 2 years ago
src string: add nstr2i and nstr2u 2 years ago
test add limits.h 2 years ago
.editorconfig initial commit uwu 2 years ago
.gitignore initial commit uwu 2 years ago
.gitmodules doc: use doxygen-awesome theme 2 years ago
CMakeLists.txt doc: use doxygen-awesome theme 2 years ago
LICENSE initial commit uwu 2 years ago
README.md add readme 2 years ago

README.md

libneo

libneo is an alternative standard library that wraps around libc. It comes with an entirely refactored API that is easier and safer to use than traditional POSIX. Key features include:

  • Sane(ish), standardized error handling
  • Minimal undefined behavior
  • Significantly less boilerplate
  • Memory safe(ish)
  • Runs on most POSIX compliant systems (tested on FreeBSD and Linux)
  • No Windows support

Usage

Please note that this project is still in its early development stage. APIs are subject to arbitrary change without prior notice.

Dependencies

  • A libc implementing at least POSIX.1-2008
  • clang (recommended) or GCC
  • CMake >= 3.14
  • git

CMake

libneo is distributed as a static library and can be directly included in a CMake project, e.g. using CMake's FetchContent module:

include(FetchContent)
FetchContent_Declare(
    neo
    GIT_REPOSITORY https://git.bsd.gay/fef/libneo.git
)
FetchContent_MakeAvailable(neo)

target_link_libraries(${PROJECT_NAME} PRIVATE neo)

License

Copyright © 2021 Fefie owo@fef.moe

libneo is non-violent software: you may only use, redistribute, and/or modify it under the terms of the CNPLv6+ as found in the LICENSE file or at https://git.pixie.town/thufie/CNPL.

libneo comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. See the CNPLv6+ for details.