open_a_o(str,fdptr,flag)
char *str, flag;
LPINT fdptr;
{
   char c, tmp_cmd_flag, bbuu[80];
   int mode=OF_CREATE|OF_WRITE;
   long ll=0L;

   tmp_cmd_flag = cmd_flag;
   cmd_flag = 0;
   if((*fdptr=UsdOpenFile((LPSTR)str,O_RDONLY)) != -1) {
        close(*fdptr);
      if(flag == 'I') {
aa:
         d_prntf(" File already existed, overwrite? [Y/N] ");
         c = get_str2(bbuu,10);
         DisplayStr("\r\n");
         if(c == ESC) return(c);
         c = bbuu[0];
         if(c=='N' || c=='n') {
            c = ESC;
         return(c);
         } else if(c!='Y' && c!='y') goto aa;
      } else if(flag=='A' || flag=='a') mode = OF_READWRITE;
   }
   if ( ( *fdptr = open( (LPSTR)str, mode|O_BINARY, S_IREAD|S_IWRITE ) ) == -1 ) {
      prn_ferr(15);
      c = 1 - OPEN_OK;
   } else {
      c = OPEN_OK;
      if(flag=='A' || flag=='a') ll = _llseek(*fdptr,0L,SEEK_END);
   }
   cmd_flag = tmp_cmd_flag;
   return(c);
}        /* end of open_a_o(str,fdptr,flag) */

