
                  Incompability issues of HI-TECH-C compiler
                  

One  of  the  most  popular  free compilers for programming in C under DOS, is
called  PACIFIC  C,  by  HI-TECH-C. This compiler makes is very good in making
small  EXE`s,  and  is  easy  to  use. One of it`s big faults is it`s run time
library,  it  has  a lot of "holes". Most of those "holes" can be fixed easly.
While  other will  need  a  lot of  work. This document purpuse is to write an
include  file  and a implementation file to bring up this compiler in the same
position a other compilers like TC 101, and DJGPP.

This  list is not complete, and it you find somethis missing or wrong, mail me
to fix it.

29-05-2001 22:40:25
 - diego dgi_il@hotmail.com
   http://dgi_il.tripod.com

#incldue <stdio.h>
==================
third parameter in fseek(), mode:
  #define SEEK_SET        0
  #define SEEK_CUR        1
  #define SEEK_END        2


#include <unistd.h>
===================
declaration:   int access(const char *filename, int flags);
Portability:   not ANSI, POSIX


#include <dir.h>
================
sizes of strings in fnsplit(), fnmerge()
  #define MAXPATH   80
  #define MAXDRIVE  3
  #define MAXDIR    66
  #define MAXFILE   9
  #define MAXEXT    5

return value of fnsplit()
  #define WILDCARDS  0x01
  #define EXTENSION  0x02
  #define FILENAME   0x04
  #define DIRECTORY  0x08
  #define DRIVE      0x10


declaration:   int  fnsplit (char *path, char *drive, char *dir, char *name, char *ext);
Portability:   not ANSI, not POSIX

declaration:   void fnmerge (char *path, char *drive, char *dir, char *name, char *ext);
Portability:   not ANSI, not POSIX

return value of findfirst()
  #define FA_RDONLY       1
  #define FA_HIDDEN       2
  #define FA_SYSTEM       4
  #define FA_LABEL        8
  #define FA_DIREC        16
  #define FA_ARCH         32

declaration:   int findfirst(const char *pathname, struct ffblk *ffblk, int attrib);
Portability:   not ANSI, not POSIX

declaration:   findnext(struct ffblk *ffblk);
Portability:   not ANSI, not POSIX

#include <string.h>
===================
declaration:   char *strupr( char *str );
Portability:   not ANSI, not POSIX

declaration:   char *strlwr( char *str );
Portability:   not ANSI, not POSIX
