suppose there are two distinct layers of abstraction, one on top of the other. Suppose someone uses the error condition names of the top layer in coding the bottom layer when the return values it is used for in the bottom layer have not the same purpose as those of the top layer, and when it would be an error for the return value to actually get propagated all the way out of the top layer. What is this bad programming practice called, there is a name for it isn't there? When you use a return value #define for two different meanings, is there a name for that? It is generally accepted to be bad style, yes?
Hans
