...
Non-Compliant Code Example
This non-compliant code example illustrates a function called opener()
that is declared as returning a value of type int
. The function, however, uses this return value to indicate the return status of the function by returning values of errno
. Consequently, the meaning of the return value is not as clear as it could be.
Code Block | ||
---|---|---|
| ||
int opener(FILE* file, int *width, int *height, int *data_offset) { int file_w; int file_h; int file_o; int offset = 0; if (file == NULL) { return -1; } if (fscanf(file, "%i %i %i", &file_w, &file_h, &file_o) != 3) { return -1; } if (fsetpos(file, &offset) != 0) { return -1; } *width = file_w; *height = file_h; *data_offset = file_o; return 0; } |
...