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 '%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253da9a3836861bd23387b5a51d6f6ac23377e98e26f%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253deb96af27f4059c93d7e000e910b71d74829a239b%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253dd78ff08d99780a73447d5a95bf1e358e8c23aa3c%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253dd78ff08d99780a73447d5a95bf1e358e8c23aa3c&id2%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253dcd2133a5f66b42f992a9a1b92bbbce11dc26b941%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253dd78ff08d99780a73447d5a95bf1e358e8c23aa3c%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253dcd2133a5f66b42f992a9a1b92bbbce11dc26b941%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253dc585e8e498ec6f9c423ab8ea07cf853ee5b05fbe%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253dc585e8e498ec6f9c423ab8ea07cf853ee5b05fbe%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253d523aa08f51a88c59ad4b1f600f8ce3d122e9e289%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid2%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253dba1a347dcaba055f824161007dfee60db3ea785b%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525253dba1a347dcaba055f824161007dfee60db3ea785b%252525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525252525252525252525252525252525252525253d5773a77780fee2424ad561c1c83136f45e2b1a67%2525252525252525252525252525252525252525252525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525252525252525252525252525252525252525252525253dba1a347dcaba055f824161007dfee60db3ea785b%252525252525252525252525252525252525252525252525252525252525252525252525252525253fshowmsg%252525252525252525252525252525252525252525252525252525252525252525252525252525253d1%25252525252525252525252525252525252525252525252525252525252525252525252525253fid2%25252525252525252525252525252525252525252525252525252525252525252525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%252525252525252525252525252525252525252525252525252525252525252525252525253fid2%252525252525252525252525252525252525252525252525252525252525252525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%2525252525252525252525252525252525252525252525252525252525252525252525253fid2%2525252525252525252525252525252525252525252525252525252525252525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%252525252525252525252525252525252525252525252525252525252525253fid%252525252525252525252525252525252525252525252525252525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0%25252525252525252525252525252525252525252525252525252525253fshowmsg%25252525252525252525252525252525252525252525252525252525253d1%2525252525252525252525252525252525252525252525252525253fid%2525252525252525252525252525252525252525252525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0%25252525252525252525252525252525252525252525252525253fid%25252525252525252525252525252525252525252525252525253d9a1d37c83b3e6df17494955107eda8437a454ab0&id2%25252525252525252525252525252525252525252525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%25252525252525252525252525252525252525253fid%25252525252525252525252525252525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%252525252525252525252525252525252525253fid%252525252525252525252525252525252525253dba1a347dcaba055f824161007dfee60db3ea785b%2525252525252525252525252525252525253fid%2525252525252525252525252525252525253dbcbc1ef5c4cf4875a4d66e7dc0919da88a6096a5%25252525252525252525252525252525253fid%25252525252525252525252525252525253dbcbc1ef5c4cf4875a4d66e7dc0919da88a6096a5%252525252525252525252525252525253fid%252525252525252525252525252525253dbcbc1ef5c4cf4875a4d66e7dc0919da88a6096a5%2525252525252525252525252525253fid%2525252525252525252525252525253dbcbc1ef5c4cf4875a4d66e7dc0919da88a6096a5%25252525252525252525252525253fid%25252525252525252525252525253dbcbc1ef5c4cf4875a4d66e7dc0919da88a6096a5%25252525252525252525253fid2%25252525252525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%2525252525252525253fid%2525252525252525253ddfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc%25252525252525253fid%25252525252525253dba1a347dcaba055f824161007dfee60db3ea785b%2525253fshowmsg%2525253d1%253fid%253d9a1d37c83b3e6df17494955107eda8437a454ab0%3fid%3d9a1d37c83b3e6df17494955107eda8437a454ab0?id=dfbbf7f6e1b22ccf9e5a45d77ee10995577fb4fc')
0 files changed, 0 insertions, 0 deletions