Skip to content
trunk
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
etc
 
 
exe
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Welcome to libu8

libu8 is a portability and utility library written in modern C for Unix-based platforms. libu8 is licensed under the LGPL and the GPL version 2 or later. You can find the source to libu8 on github.

libu8 is a portability and utility library written in modern C for Unix-based platforms. libu8 is licensed under the LGPL (V2.1) and GPL (V2) you can find the source on github. Detailed robodocs are available (generated by Doxygen).

libu8 provides:

  • string utilities for portably working with UTF-8 encodings

  • stream-based text I/O using UTF-8 internally but allowing output to multiple encodings

  • a client networking library for socket io, connection pools, and simple hostname lookup;

  • extensible and customizable logging functions (using u8_printf);

  • wrappers for time-related functions allowing fine-grained times and specification of arbitrary time zones;

  • an exception handling library using setjmp/longjmp with unwinds and dynamic error catching;

  • signal handlers for turning synchronous signals into exceptions;

  • a server networking library for lightweight multi-threaded server implementation.

  • an extensible printf (u8_printf) function including output to strings;

  • various hash and digest functions, including MD5, Google's cityhash, and various SHAx functions;

  • cryptographic function wrappers using local libraries;

  • a variety of file or URI path manipulation functions;

  • a wrapper for rusage() resource system calls;

  • wrappers for accessing file and directory contents and metadata;

  • support for lookup up and interpreting named character entities;

libu8 is especially intended for software which uses UTF-8 internally but may interact with applications and services employing different character encodings. However, it has grown to provide a variety of other portable functions.

You can’t perform that action at this time.