See "Define ideas"
The more you say, the more likely your words will not match the reality
of the code. I try to keep the code clean and the words few. That way,
you get an overview in "Define ideas," but for the details you must read
the code.
Keeping "the code clean and the words few" is a fine principle but
a higher and more useful principle is to clearly document what the
code is supposed to do. That you have not done; see below.
You shunted aside Keith Thompson's excellent advice (above) with
a terse response, 'See "Define ideas"'. Looking at that section,
it said:
Trim leading and trailing whitespace from any null terminated string
found in memory, no matter whether data or garbage. Reports failure
and quits if null terminator not found within system defined limit.
Encountering such a specification for code to be written, a programmer
might think that the program should look through memory to find any
null terminated strings, and remove leading and trailing whitespace
from each such string. Some programmers might squeeze out such
whitespace by moving the strings together in memory, others might
zero the bytes where such whitespace is found, etc. Some programmers
might use system calls to find out how much memory has been allocated
to your program so they know how much memory to scan, others might try
to enforce a string registration regime so they know which strings to
work on. All in all, it seems likely that n programmers implementing
it will produce n different, incompatible, and useless functions, vs
the desired case of all producing interchangeable functions.
Minor note, keep verb tenses parallel -- avoid Trim/Reports/quits,
use Trim/Report/quit or Trims/Reports/quits.