On Tue, Oct 29, 2019 at 08:08:16PM +0000, Schumaker, Anna wrote: > > + return size ?: ret; > > It looks like you're returning "ret" if the ternary evaluates to false, but it's not clear to > me what is returned if it evaluates to true. It's possible it's okay, but I just don't know > enough about how ternaries work in this case. It's an unloved, unwnted GNU extension. See https://gcc.gnu.org/onlinedocs/gcc/Conditionals.html It's really no better than writing: return size ? size : ret; or even better: if (size) return size; return ret;