Subversion Repositories SvarDOS

Rev

Rev 1532 | Rev 1538 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1532 Rev 1537
Line 23... Line 23...
23
 * IN THE SOFTWARE.
23
 * IN THE SOFTWARE.
24
 */
24
 */
25
 
25
 
26
#include <dos.h>      /* _dos_open(), _dos_read(), _dos_close(), ... */
26
#include <dos.h>      /* _dos_open(), _dos_read(), _dos_close(), ... */
27
#include <fcntl.h>    /* O_RDONLY, O_WRONLY */
27
#include <fcntl.h>    /* O_RDONLY, O_WRONLY */
-
 
28
#include <stdlib.h>   /* _osmajor symbol provided by Open Watcom */
28
#include <string.h>
29
#include <string.h>
29
 
30
 
30
#include "mdr\bios.h"
31
#include "mdr\bios.h"
31
#include "mdr\cout.h"
32
#include "mdr\cout.h"
32
#include "mdr\dos.h"
33
#include "mdr\dos.h"
33
 
34
 
34
#include "svarlang\svarlang.h"
35
#include "svarlang\svarlang.h"
35
 
36
 
36
 
37
 
37
#define PVER "2023.4"
38
#define PVER "2023.5"
38
#define PDATE "2023"
39
#define PDATE "2023"
39
 
40
 
40
/*****************************************************************************
41
/*****************************************************************************
41
 * global variables and definitions                                          *
42
 * global variables and definitions                                          *
42
 *****************************************************************************/
43
 *****************************************************************************/
Line 568... Line 569...
568
  /* start by adding an empty line */
569
  /* start by adding an empty line */
569
  if (line_add(db, NULL, 0) != 0) return(2);
570
  if (line_add(db, NULL, 0) != 0) return(2);
570
 
571
 
571
  if (fname == NULL) goto SKIPLOADING;
572
  if (fname == NULL) goto SKIPLOADING;
572
 
573
 
-
 
574
  /* make the filename canonical if DOS 3+ detected */
-
 
575
  if (_osmajor >= 3) {
573
  mdr_dos_truename(db->fname, fname);
576
    mdr_dos_truename(db->fname, fname);
-
 
577
  } else { /* copy the string as-is (DOS TRUENAME is not available on DOS 2.x) */
-
 
578
    /* I could just as well call strcpy() here, but pulling strcpy() in makes
-
 
579
     * the upxed sved executable grow over 7K in size, so I use a cheaper
-
 
580
     * approach instead */
-
 
581
    _fmemmove(db->fname, fname, strlen(fname) + 1); /* _fmemmove() to avoid pulling in memmove() */
-
 
582
  }
574
 
583
 
575
  err = _dos_open(fname, O_RDONLY, &fd);
584
  err = _dos_open(fname, O_RDONLY, &fd);
576
  if (err != 0) goto SKIPLOADING;
585
  if (err != 0) goto SKIPLOADING;
577
 
586
 
578
  db->lfonly = 1;
587
  db->lfonly = 1;