1. Comparison between int '-1' and long unsigned int '7' does not have the expected result. this is because
"Binary operations between different integral types are performed within a "common" type defined by so called usual arithmetic conversions (see the language specification, 6.3.1.8). In your case the "common" type is unsigned int. This means that int operand (your b) will get converted to unsigned int before the comparison, as well as for the purpose of performing subtraction." [1]
Thus -1, when converted to long unsigned int overflows, and becomes greater than 7. The loop exits immediately.
_______
2. error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘-’ token
void OS_HP-UX_print()
^
a '-' in the function name is illegal
_______
3. continue triggers the while(false) condition, exits the loop.
_______
4. the stdout output is buffered. Adding a newline after the fprintf statement does the trick. see [2]
_______
5. In C macros the octothorpe turns what follows it into a string. It does so without expanding the expression.
Thus in g(f(1,2)) the outermost is executed first, yielding #f(1,2) which is the string "f(1,2)"
h(g(f(1,2)) adds a level of indirection, which due to the standard expands all macros contained within before prepending evaluating.
"After the arguments for the invocation of a function-like macro have been identified, argument substitution takes place. A parameter in the replacement list, unless preceded by a # or ## preprocessing token or followed by a ## preprocessing token (see below), is replaced by the corresponding argument after all macros contained therein have been expanded. Before being substituted, each argument’s preprocessing tokens are completely macro replaced as if they formed the rest of the preprocessing file; no other preprocessing tokens are available"
see [3]
_______
6. Typo "defau1t" -> "default"
_______
7. https://news.ycombinator.com/item?id=12921707
_______
[1] http://stackoverflow.com/questions/2084949/arithmetic-operat...
[2] http://stackoverflow.com/questions/14784367/cs-printf-and-fp...
[3] http://stackoverflow.com/questions/3323231/argument-preceded...