idx 4: Implementing a dynamic string library in C