C Strings and my slow descent to madness

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • SDS

    Simple Dynamic Strings library for C

  • With the woes of string.h being known, why not just use an alternative like https://github.com/antirez/sds ?

    I’ve also been having a blast with C because writing C feels like being a god! But the biggest thing that I like about C is that the world is sort of written on it!

    Just yesterday I needed to parse a JSON… found a bunch of libraries that do that and just picked one that I liked the API.

  • squashfs-tools-ng

    A new set of tools and libraries for working with SquashFS images

  • ... except that that is also subtly broken.

    It works if you write multiple UTF-8 code-units in one go, but breaks if you send them in several writes, or if you use the ANSI API (with the A suffix). Guess what the Windows implementation of stdio (printf and friends) does.

    I already had some fun with this: https://github.com/AgentD/squashfs-tools-ng/issues/96#issuec...

    And we didn't even discuss command line argument passing yet :-)

    I tried to test it with the only other two languages I know besides English: German and Mandarin. Specifically also, because the later requires multi-byte characters to work. Getting this to work at all in a Windows terminal on an existing, German Windows 7 installation was an adventure on it's own.

    Turns out, trying to write language agnostic command line applications on Windows is a PITA.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • cbindgen

    A project for generating C bindings from Rust code

  • You can backport Rust standard library to C using https://github.com/eqrion/cbindgen .

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts