>>140Hey Cudder,
If anything the amount of extra space you're taking up in the symbol
table with an additional (imported) function call and the code of the
putword function, for example, absolutely trivially stupid function is
far more than just integrating the bloody thing into the source. It is
literally a compare with an existing variable and a conditional
function call, which you can't do if you decide to pull it out
separately so you have to make an extra fucking variable THAT IS ONLY
EVER USED ONCE! Instead you have to go through the motions of passing
parameters and register saving/restoring and all that stupid shit that
compilers do when they call functions.
It is one thing when your ACU project is slammed on some message board
on the Interwebs, it's another when you start "criticizing" another
project on false grounds.
I'll give you a small hint: The symbol table does not matter too much
in statically linked applications (and that's what's supposed to happen)
and libutil is not dynamically linked into the binaries.
If the compiler detects a function to be "trivial", it will inline it
automatically. I can understand the motivation to do that manually to
optimize the code, but premature optimizations are the first step
towards broken and unmaintainable, chaotic code (look at ACU).
Why don't you refactor all the for loops out into their own function
too? Or all the if statements? After all, they are "duplicated code".
This is near that level of retardedness.
Check out GNU coreutils if you like that.
You've also not propagated errors correctly... so it is a FAIL!
Where?
Cheers