awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
antirez avatar

antirez/sds

0
View on GitHub↗

Sds

sds is a C dynamic string library that provides a memory management wrapper for heap-allocated strings. It implements binary-safe storage by tracking string lengths explicitly, allowing the library to handle null characters within data.

The library distinguishes itself through a memory architecture that uses interchangeable function pointers for allocation and freeing, enabling the integration of custom memory managers. It utilizes header-stored length tracking to provide constant-time length retrieval and maintains null-terminated buffer padding to ensure compatibility with standard C string functions.

The toolkit covers a wide range of string manipulation capabilities, including concatenation, tokenization, joining, and range extraction. It also provides utilities for in-place buffer mutation, such as trimming and cropping, and includes optimized string formatting alternatives to standard print functions.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • Binary-Safe String Buffers - Provides a binary-safe string implementation that supports null bytes and special characters in C.
  • Dynamic String Management - Implements a comprehensive system for creating and manipulating heap-allocated, growable, binary-safe strings.
  • String Header Lengths - Stores string length in a prefix header to allow constant-time retrieval without scanning for null bytes.
  • C Memory Management - Handles dynamic memory for text and binary data in C to prevent manual buffer overflows.
  • Null-Terminated String Buffers - Maintains null terminators at the end of buffers to ensure compatibility with standard C string functions.
  • Constant-Time Length Retrieval - Provides constant-time length retrieval by storing the string length in a prefix header.
  • Dynamic String Libraries - Provides a comprehensive C library for managing heap-allocated, binary-safe strings with automatic length tracking.
  • C-Compatible String Conversions - Ensures all dynamic strings are null-terminated for seamless compatibility with standard C string functions.
  • String Concatenation Operations - Provides efficient operations to append binary data, null-terminated strings, or zero-padded bytes to dynamic buffers.
  • Buffer Modifiers - Provides utilities for modifying memory buffers directly to perform trimming and cropping without new allocations.
  • Custom Memory Allocators - Allows integration with specific heap management functions to control how string memory is allocated and freed.
  • Over-Allocation Strategies - Allocates more memory than immediately needed to reduce the number of reallocation calls during string growth.
  • C String Formatting Libraries - Offers optimized alternatives to standard library print functions for constructing formatted strings in C.
  • Custom Allocator Hooks - Provides interchangeable function pointers for allocation and freeing to enable custom memory managers.
  • Optimized String Formatting - Offers optimized alternatives to standard print functions to reduce execution overhead during string construction.
  • Safe String Copy Functions - Allows replacing string contents while reusing existing memory allocations to prevent unnecessary overflows and overhead.
  • String Formatting Utilities - Provides utilities to append formatted text using style specifiers and efficient integer-to-string conversion.
  • String Manipulation - Ships an optimized toolkit for concatenating, trimming, and tokenizing strings within C applications.
  • Range Extraction - Supports cropping strings to specified ranges using absolute or negative offsets from the end.
  • String Trimming - Removes specified characters from the start and end of strings without allocating additional memory.
  • String Joining - Implements utilities for combining an array of strings into a single sequence using a specified delimiter.
  • String Tokenization - Implements functions for splitting strings into substrings and trimming whitespace for data processing.
  • Build Systems - A simple, dynamic string library compatible with standard C strings.
  • Development Utilities - Simple dynamic string library for C.
  • General Utilities - Simple dynamic strings library for C.
  • String Manipulation - Dynamic string library compatible with standard C functions.
  • Windows Environments - Listed in the “Windows Environments” section of the Awesome C awesome list.
5,486 stars·506 forks·C·BSD-2-Clause·20 views

Star history

Star history chart for antirez/sdsStar history chart for antirez/sds

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Frequently asked questions

What does antirez/sds do?

sds is a C dynamic string library that provides a memory management wrapper for heap-allocated strings. It implements binary-safe storage by tracking string lengths explicitly, allowing the library to handle null characters within data.

What are the main features of antirez/sds?

The main features of antirez/sds are: Binary-Safe String Buffers, Dynamic String Management, String Header Lengths, C Memory Management, Null-Terminated String Buffers, Constant-Time Length Retrieval, Dynamic String Libraries, C-Compatible String Conversions.

Which projects share features with antirez/sds?

Projects with overlapping indexed features include: angrave/systemprogramming — This is an open-source, crowd-sourced wiki textbook that teaches Linux system programming in C. It covers the core… attractivechaos/klib — klib is a comprehensive C standard library extension and data structure toolkit. It provides a set of fundamental… redis/hiredis — Hiredis is a minimalistic C client library designed to send commands and receive responses from Redis servers using a… keybuk/libnih — NIH Utility Library. nothings/stb — This project is a collection of portable, header-only C functions designed for integration into software projects… kaisery/trpl-zh-cn — This project is a localized educational resource for learning the Rust programming language, providing a comprehensive…

Projects sharing features with Sds

These projects share indexed features with Sds. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • angrave/systemprogrammingangrave avatar

    angrave/SystemProgramming

    5,734View on GitHub↗

    This is an open-source, crowd-sourced wiki textbook that teaches Linux system programming in C. It covers the core operating system concepts of process management through the fork-exec-wait model, dynamic memory allocation using implicit free list heap allocators, inode-based file systems, inter-process communication via pipes and shared memory, POSIX threads with synchronization primitives, signal-based asynchronous notification, virtual memory with page table translation, and runtime diagnostics using Valgrind and GDB. The textbook distinguishes itself by providing practical, implementation

    View on GitHub↗5,734
  • attractivechaos/klibattractivechaos avatar

    attractivechaos/klib

    4,679View on GitHub↗

    klib is a comprehensive C standard library extension and data structure toolkit. It provides a set of fundamental tools for memory management, data organization, and general-purpose utility functions for standalone C applications. The project features specialized capabilities for bioinformatics sequence analysis, including the parsing of FASTA, FASTQ, and Newick formats and the implementation of Smith-Waterman sequence alignment and Hidden Markov Models. It also includes a mathematical computation library for numerical routines and expression evaluation, as well as a lightweight HTTP and FTP

    C
    View on GitHub↗4,679
  • redis/hiredisredis avatar

    redis/hiredis

    6,655View on GitHub↗

    Hiredis is a minimalistic C client library designed to send commands and receive responses from Redis servers using a binary-safe protocol. It functions as a core toolkit providing a Redis protocol parser, a secure connector, and both synchronous and asynchronous driver interfaces. The library distinguishes itself through a decoupled protocol parser that converts raw byte streams into structured data objects independently of the network transport layer. It supports high-performance pipelining to batch multiple commands into a single network round-trip and provides a secure networking layer fo

    C
    View on GitHub↗6,655
  • keybuk/libnihkeybuk avatar

    keybuk/libnih

    92View on GitHub↗

    NIH Utility Library

    C
    View on GitHub↗92
Compare all 30 related projects→