More code deduplication.
# ifconfig > /tmp/a # git stash pop && make -C sbin/ifconfig && make -C sbin/ifconfig install <snip> # ifconfig > /tmp/b # cmp /tmp/a /tmp/b && echo ok ok
Does that shadow the global name variable that we used to use as input?
I don't understand how this is intended to work.
Are we changing the input from the name global to the ifr.ifr_name global?
(We really need to clean up the use of globals in ifconfig, it's hard to follow for the small of brain, like me.)
That needs to be at the top of the block.
style(9) still has "Declarations may be placed before executable lines at the start of any block."
Does the kernel not set .ifgr_len to the correct size for the number of groups it returned?
If not, is that something we should have ifconfig_get_groups() clean up for us? It seems silly for all users of the lib to have to worry about this.
Yes I started to catch on to that after getting into a few more of these. I'll remove the local name variables so the global is used for now, and eventually it can be made a parameter to the function along with the handle.
Now that I think about it some more, this check is nonsense. The NULL check in the original code here didn't make sense. We were incrementing and checking a pointer we allocated and already checked for NULL ourselves. We're iterating through an array of structs, not an array of pointers.
I'll remove it.