summaryrefslogtreecommitdiff
path: root/util.c%2525252525252525252525252525252525252525252525252525252525252525252525...
diff options
context:
space:
mode:
authorHiltjo Posthuma <hiltjo@codemadness.org>2023-03-08 21:20:52 +0100
committerHiltjo Posthuma <hiltjo@codemadness.org>2023-03-08 21:28:51 +0100
commitdfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc (patch)
treefc6aeadab9feb3ab590f81565e7005dd22bb52ef /util.c%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525253d5fd7af18c6b24bffd4701156feffcbc0db3b1d69%252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525252525252525252525252525252525252525253d5fd7af18c6b24bffd4701156feffcbc0db3b1d69%2525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525252525252525252525252525252525252525252525253d5fd7af18c6b24bffd4701156feffcbc0db3b1d69&id2%2525252525252525252525252525252525252525252525252525252525252525252525252525252525253d02238725f6b580ea8b6356377e359f933c5ca720%25252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525252525252525252525252525252525252525253d5fd7af18c6b24bffd4701156feffcbc0db3b1d69%252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525252525252525252525252525252525253d02238725f6b580ea8b6356377e359f933c5ca720%2525252525252525252525252525252525252525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525252525252525252525252525252525252525253d2d5afd7c01150b9fa60de1c746205c72d75c9b68%25252525252525252525252525252525252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525252525252525252525252525252525253df7615e220e980524bf4051bb181952e0afcbf9a9%252525252525252525252525252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525252525252525252525252525253de7ecae0d58b33b5c6afb4b6c14fc1347072f976d%25252525252525252525252525252525252525252525252525252525252525252525253fshowmsg%25252525252525252525252525252525252525252525252525252525252525252525253d1%2525252525252525252525252525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525252525252525252525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%2525252525252525252525252525252525252525252525252525252525253fshowmsg%2525252525252525252525252525252525252525252525252525252525253d1%252525252525252525252525252525252525252525252525252525253fshowmsg%252525252525252525252525252525252525252525252525252525253d1%25252525252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0%252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0%2525252525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0&id2%2525252525252525252525252525252525252525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%25252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0%252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0&id2%252525252525252525252525252525252525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%2525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0%25252525252525252525252525252525252525253fid%25252525252525252525252525252525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%252525252525252525252525252525252525253fid%252525252525252525252525252525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%2525252525252525252525252525252525253fid%2525252525252525252525252525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%252525252525252525252525252525253fshowmsg%252525252525252525252525252525253d1%2525252525252525252525252525253fshowmsg%2525252525252525252525252525253d1%25252525252525252525252525253fshowmsg%25252525252525252525252525253d1%2525252525252525252525253fid%2525252525252525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0%25252525252525252525253fid%25252525252525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0%252525252525252525253fid%252525252525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0%2525252525252525253fid%2525252525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0%25252525252525253fid%25252525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0%252525252525253fid%252525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0&id2%252525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%2525252525253fid%2525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0&id2%2525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%25252525253fid%25252525253d9a1d37c83b3e6df17494955107eda8437a454ab0%252525253fid%252525253d9a1d37c83b3e6df17494955107eda8437a454ab0%2525253fid%2525253d9a1d37c83b3e6df17494955107eda8437a454ab0&id2%2525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%25253fid%25253d9a1d37c83b3e6df17494955107eda8437a454ab0%253fid%253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%3fid%3ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc?id=dfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc
parentba1a347dcaba055f824161007dfee60db3ea785b (diff)
readstdin: reduce memory-usage by duplicating the line from getline()
Improves upon commit 32db2b125190d366be472ccb7cad833248696144 The getline() implementation often uses a more greedy way of allocating memory. Using this buffer directly and forcing an allocation (by setting it to NULL) would waste a bit of extra space, depending on the implementation of course. Tested on musl libc and glibc. The current glibc version allocates a minimum of 120 bytes per line. For smaller lines musl libc seems less wasteful but still wastes a few bytes per line. On a dmenu_path listing on my system the memory usage was about 350kb (old) vs 30kb (new) on Void Linux glibc. Side-note that getline() also reads NUL bytes in lines, while strdup() would read until the NUL byte. Since dmenu reads text lines either is probably fine(tm). Also rename junk to linesiz.
Diffstat (limited to 'util.c%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525253d5fd7af18c6b24bffd4701156feffcbc0db3b1d69%252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525252525252525252525252525252525252525253d5fd7af18c6b24bffd4701156feffcbc0db3b1d69%2525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525252525252525252525252525252525252525252525253d5fd7af18c6b24bffd4701156feffcbc0db3b1d69&id2%2525252525252525252525252525252525252525252525252525252525252525252525252525252525253d02238725f6b580ea8b6356377e359f933c5ca720%25252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525252525252525252525252525252525252525253d5fd7af18c6b24bffd4701156feffcbc0db3b1d69%252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525252525252525252525252525252525253d02238725f6b580ea8b6356377e359f933c5ca720%2525252525252525252525252525252525252525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525252525252525252525252525252525252525253d2d5afd7c01150b9fa60de1c746205c72d75c9b68%25252525252525252525252525252525252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525252525252525252525252525252525253df7615e220e980524bf4051bb181952e0afcbf9a9%252525252525252525252525252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525252525252525252525252525253de7ecae0d58b33b5c6afb4b6c14fc1347072f976d%25252525252525252525252525252525252525252525252525252525252525252525253fshowmsg%25252525252525252525252525252525252525252525252525252525252525252525253d1%2525252525252525252525252525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525252525252525252525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%2525252525252525252525252525252525252525252525252525252525253fshowmsg%2525252525252525252525252525252525252525252525252525252525253d1%252525252525252525252525252525252525252525252525252525253fshowmsg%252525252525252525252525252525252525252525252525252525253d1%25252525252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0%252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0%2525252525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0&id2%2525252525252525252525252525252525252525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%25252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0%252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0&id2%252525252525252525252525252525252525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%2525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0%25252525252525252525252525252525252525253fid%25252525252525252525252525252525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%252525252525252525252525252525252525253fid%252525252525252525252525252525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%2525252525252525252525252525252525253fid%2525252525252525252525252525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%252525252525252525252525252525253fshowmsg%252525252525252525252525252525253d1%2525252525252525252525252525253fshowmsg%2525252525252525252525252525253d1%25252525252525252525252525253fshowmsg%25252525252525252525252525253d1%2525252525252525252525253fid%2525252525252525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0%25252525252525252525253fid%25252525252525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0%252525252525252525253fid%252525252525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0%2525252525252525253fid%2525252525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0%25252525252525253fid%25252525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0%252525252525253fid%252525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0&id2%252525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%2525252525253fid%2525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0&id2%2525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%25252525253fid%25252525253d9a1d37c83b3e6df17494955107eda8437a454ab0%252525253fid%252525253d9a1d37c83b3e6df17494955107eda8437a454ab0%2525253fid%2525253d9a1d37c83b3e6df17494955107eda8437a454ab0&id2%2525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%25253fid%25253d9a1d37c83b3e6df17494955107eda8437a454ab0%253fid%253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%3fid%3ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc?id=dfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc')
0 files changed, 0 insertions, 0 deletions