Re:Banned C standard library functions in Git source code
by zsrxx on Sunday August 25, 2019 @11:00AM
(#20793347)
What's a good library for this kind of boilerplate? A lightweight one if possible, i.e. not fucking glib
[ Parent
| on HN ]
Re:Banned C standard library functions in Git source code
by vmsp on Sunday August 25, 2019 @11:23AM
(#20793463)
Salvatore Sanfilippo, from Redis fame, has a nice one https://github.com/antirez/sds.
Re:Banned C standard library functions in Git source code
by chucksmash on Sunday August 25, 2019 @03:43PM
(#20795041)
Thanks for linking this, it's always good to see how very strong engineers solve problems. Never in a million years would this approach have occurred to me. For the interested, the README in the linked repo is done well and clearly explains the approach itself as well as pros and cons. This also reminded me that I've been meaning to watch antirez' "Writing System Software"[0] videos on YouTube for quite a while now, so thanks for that too.
[0]: https://www.youtube.com/playlist?list=PLrEMgOSrS_3fghr8ez63x...
Re:Banned C standard library functions in Git source code
by megous on Sunday August 25, 2019 @12:33PM
(#20793862)
I'd rather make it explicit that returned/passed value is something other than a regular zero terminated string. Otherwise you can easilly make a mess, if you pass zero terminated string to a function that expects some special bytes in the memory before the pointer.
Re:Banned C standard library functions in Git source code
by doboyy on Monday August 26, 2019 @12:13AM
(#20797416)
I do this, but I like to just return the actual struct and also avoid typedefing pointer semantics. Can double as a dynamic array too. It's true. We all have string libraries...
Re:Banned C standard library functions in Git source code
by zsrxx on Sunday August 25, 2019 @01:28PM
(#20794203)
I haven't looked much so I can't comment on the quality of the library but that hairdo is glorious. Props to Salvatore!
Re:Banned C standard library functions in Git source code
by tlb on Sunday August 25, 2019 @11:12AM
(#20793406)
There are far too many. APR is a solid choice -- very portable, well-tested, and fast. It uses memory pools a lot, which work well for many styles but not everything.
Re:Banned C standard library functions in Git source code
by emmelaich on Sunday August 25, 2019 @08:51PM
(#20796715)
This is a good place to start:
https://dwheeler.com/secure-programs/3.71/Secure-Programs-HO...
Re:Banned C standard library functions in Git source code
by seamyb88 on Sunday August 25, 2019 @03:53PM
(#20795094)
What's wrong with glib, other than not being lightweight? I love glib.
Re:Banned C standard library functions in Git source code
by CameronNemo on Sunday August 25, 2019 @11:31AM
(#20793497)
libbsd has strlcat and strlcpy.
or just use snprintf everywhere.
Re:Banned C standard library functions in Git source code
by adamnemecek on Sunday August 25, 2019 @11:20AM
(#20793440)
Rust. Half-joking.