Skip to content

A small C library for reading and writing MAML configuration files.

License

Notifications You must be signed in to change notification settings

lhearachel/libmaml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libmaml

A small C library for reading and writing MAML configuration files.

Installation

If you want to integrate libmaml with your project, the simplest way is to copy the header and source code from src, then wire it into your project's build.

To compile libmaml from the source repository, configure the project using meson:

meson setup build
meson compile -C build

If you are using meson for your project's build, you may also include this repository as a subproject by creating subprojects/libmaml.wrap in your project's root:

[wrap-git]
url = https://github.com/lhearachel/libmaml.git
revision = HEAD
depth = 1

Limitations

  • String-values are constructed from an allocated copy of the input stream; this copy is then modified in-place.
  • Strings, arrays, and objects are stored as sequential memory buffers. These buffers are created using fragmented allocations to keep the library code simple, particularly for iterating over arrays and objects.
  • Objects permit duplicate keys. Formally, this breaks the MAML specification. To ameliorate this, when accessing a key-value pair in an object, only the first pair with a matching key is considered.

License

This project is provided under the MIT License. For full details, refer to the included license text.

About

A small C library for reading and writing MAML configuration files.

Resources

License

Stars

Watchers

Forks

Packages

No packages published