o_fopen.c: compensate for e_os.h omission.
At earlier point e_os.h was omitted from a number of headers (in order
to emphasize OS neutrality), but this affected o_fopen.c, which is not
OS-neutral, and contains some DJGPP-specific code.
# ifdef _WIN32
# include <windows.h>
# endif
+# ifdef __DJGPP__
+# include <unistd.h>
+# endif
FILE *openssl_fopen(const char *filename, const char *mode)
{
@@ -64,7 +67,7 @@ FILE *openssl_fopen(const char *filename, const char *mode)
{
char *newname = NULL;
- if (!HAS_LFN_SUPPORT(filename)) {
+ if (pathconf(filename, _PC_NAME_MAX) <= 12) { /* 8.3 file system? */
char *iterator;
char lastchar;
