diff options
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 '%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253d2dcf2dc55a6d1cb550e1461c21ceaa9954e45047%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253d28fb3e28120db29ea45d1951eee7047b4109ab5f%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253dfe5d5c6709a77ac5d554e26dda76a67df68618ae%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253de1e1de7b3b8399cba90ddca9613f837b2dbef7b9%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253de1e1de7b3b8399cba90ddca9613f837b2dbef7b9&id2%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253d33685b06e9332638769e677e77b257e24e069fd1%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253de1e1de7b3b8399cba90ddca9613f837b2dbef7b9%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253d5773a77780fee2424ad561c1c83136f45e2b1a67%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253dafc0e284bea212fcdc852c665583e73240d638a8%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253dafc0e284bea212fcdc852c665583e73240d638a8%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253deee38883b8a3c4238c7d0899e56ff666e75ed9ca%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253deee38883b8a3c4238c7d0899e56ff666e75ed9ca%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253deee38883b8a3c4238c7d0899e56ff666e75ed9ca%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253d5369857fc2b3794aa3cfcc82c4714a4277f400ca%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253d5369857fc2b3794aa3cfcc82c4714a4277f400ca&id2%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253d5961876455676775b53dbcd2ff669b412450d3bb%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253d5369857fc2b3794aa3cfcc82c4714a4277f400ca&id2%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253d5961876455676775b53dbcd2ff669b412450d3bb%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253d5369857fc2b3794aa3cfcc82c4714a4277f400ca%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253d5961876455676775b53dbcd2ff669b412450d3bb%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253d5961876455676775b53dbcd2ff669b412450d3bb&id2%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253de35976f4a50f884c2162f71e4128d7c273e3e042%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253d5961876455676775b53dbcd2ff669b412450d3bb%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253d5961876455676775b53dbcd2ff669b412450d3bb&id2%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253de35976f4a50f884c2162f71e4128d7c273e3e042%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253d5961876455676775b53dbcd2ff669b412450d3bb%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid2%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525253d5773a77780fee2424ad561c1c83136f45e2b1a67%2525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525252525252525252525252525252525252525252525253d5773a77780fee2424ad561c1c83136f45e2b1a67%25252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525252525252525252525252525252525252525253d5773a77780fee2424ad561c1c83136f45e2b1a67%252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525252525252525252525252525252525253d5773a77780fee2424ad561c1c83136f45e2b1a67&id2%252525252525252525252525252525252525252525252525252525252525252525252525252525253dafc0e284bea212fcdc852c665583e73240d638a8%2525252525252525252525252525252525252525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525252525252525252525252525252525252525253d5773a77780fee2424ad561c1c83136f45e2b1a67%25252525252525252525252525252525252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525252525252525252525252525252525253d5773a77780fee2424ad561c1c83136f45e2b1a67%252525252525252525252525252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525252525252525252525252525253d5773a77780fee2424ad561c1c83136f45e2b1a67%25252525252525252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525252525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%252525252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525252525253dba1a347dcaba055f824161007dfee60db3ea785b%252525252525252525252525252525252525252525252525253fshowmsg%252525252525252525252525252525252525252525252525253d1%2525252525252525252525252525252525252525253fid2%2525252525252525252525252525252525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%2525252525252525252525252525252525253fid2%2525252525252525252525252525252525253d5773a77780fee2424ad561c1c83136f45e2b1a67%25252525252525252525252525252525253fid2%25252525252525252525252525252525253d5773a77780fee2424ad561c1c83136f45e2b1a67%2525252525252525252525253fid%2525252525252525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%25252525252525252525253fid%25252525252525252525253dba1a347dcaba055f824161007dfee60db3ea785b%252525252525252525253fid%252525252525252525253dba1a347dcaba055f824161007dfee60db3ea785b%2525252525252525253fid%2525252525252525253dbcbc1ef5c4cf4875a4d66e7dc0919da88a6096a5%25252525252525253fid%25252525252525253dbcbc1ef5c4cf4875a4d66e7dc0919da88a6096a5&id2%25252525252525253d689d9bfcf6859e5ce85c296ff0f23b5c08b1fedc%252525252525253fid%252525252525253dbcbc1ef5c4cf4875a4d66e7dc0919da88a6096a5&id2%252525252525253d689d9bfcf6859e5ce85c296ff0f23b5c08b1fedc%25252525253fshowmsg%25252525253d1%25253fid%25253d5773a77780fee2424ad561c1c83136f45e2b1a67?id=dfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc')
0 files changed, 0 insertions, 0 deletions