Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The only solution for mitigating ambiguity of a file such as my_libraryOLD.h is to rename old files with either a prefix (that would fall within the first eight characters) or to add an extension (such as my_library.h.old).

Exceptions

PRE08-EX1: While C99 only requires eight significant characters, most modern systems have long filenames, and compilers on such systems can typically differentiate them. Consequently, long filenames in headers may be used, provided that all the implementations to which the code is ported can distinguish between these filenames.

Risk Assessment

Failing to guarantee uniqueness of header files may result in the inclusion of an older version of a header file, which may include incorrect macro definitions or obsolete function prototypes or result in other errors that may or may not be detected by the compiler. Portability issues may also stem from the use of header names that are not guaranteed to be unique.

...