| ▲ | Someone 17 hours ago | |
> I've always wondered at the motivatons of the various string routines in C This idiom:
exists because strncpy was invented for copying file names that got stored in 14-byte arrays, zero terminated only if space permitted (https://stackoverflow.com/a/1454071) | ||
| ▲ | messe 35 minutes ago | parent | next [-] | |
I've always assumed that the n in strncpy was meant to signify a max length N. Now I'm wondering if it might have stood for NUL padding. | ||
| ▲ | masklinn 17 hours ago | parent | prev | next [-] | |
Technically strncpy was invented to interact with null-padded fixed-size strings in general. We’ve mostly (though not entirely) moved away from them but fixed-size strings used to be very common. You can see them all over old file formats still. | ||
| ▲ | BobbyTables2 11 hours ago | parent | prev [-] | |
It’s also horrible because each project ends up reinventing their own abstractions or solutions for dealing with common things. Destroys a lot of opportunity for code reuse / integration. Especially within a company. Alternatively their code base remains a steaming pile of crap riddled with vulnerabilities. | ||