Subversion Repositories SvarDOS

Rev

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

Rev 1320 Rev 1321
Line 117... Line 117...
117
 
117
 
118
  /* fill status bar with background */
118
  /* fill status bar with background */
119
  mdr_cout_char_rep(screenh - 1, 0, ' ', scheme[COL_STATUSBAR1], screenw);
119
  mdr_cout_char_rep(screenh - 1, 0, ' ', scheme[COL_STATUSBAR1], screenw);
120
 
120
 
121
  /* filename */
121
  /* filename */
-
 
122
  if (db->fname[0] == 0) {
-
 
123
    mdr_cout_str(screenh - 1, 0, svarlang_str(0, 1), scheme[COL_STATUSBAR1], screenw);
-
 
124
  } else {
122
  mdr_cout_str(screenh - 1, 0, db->fname, scheme[COL_STATUSBAR1], screenw);
125
    mdr_cout_str(screenh - 1, 0, db->fname, scheme[COL_STATUSBAR1], screenw);
-
 
126
  }
123
 
127
 
124
  /* eol type */
128
  /* eol type */
125
  if (db->lfonly) {
129
  if (db->lfonly) {
126
    mdr_cout_str(screenh - 1, helpcol - 3, "LF", scheme[COL_STATUSBAR1], 5);
130
    mdr_cout_str(screenh - 1, helpcol - 3, "LF", scheme[COL_STATUSBAR1], 5);
127
  } else {
131
  } else {
Line 381... Line 385...
381
    /* jump to next delimiter */
385
    /* jump to next delimiter */
382
    while ((*tail != ' ') && (*tail != '\r')) tail++;
386
    while ((*tail != ' ') && (*tail != '\r')) tail++;
383
  }
387
  }
384
 
388
 
385
  /* check args now */
389
  /* check args now */
386
  if (count != 1) return(NULL);
390
  if (count == 0) return("");
387
 
391
 
388
  return(argv[0]);
392
  return(argv[0]);
389
}
393
}
390
 
394
 
391
 
395
 
Line 393... Line 397...
393
  char buff[1024];
397
  char buff[1024];
394
  unsigned int prevlen = 0, len, llen;
398
  unsigned int prevlen = 0, len, llen;
395
  int fd;
399
  int fd;
396
  struct file *db;
400
  struct file *db;
397
 
401
 
-
 
402
  len = strlen(fname) + 1;
-
 
403
  db = calloc(1, sizeof(struct file) + len);
-
 
404
  if (db == NULL) return(NULL);
-
 
405
  memcpy(db->fname, fname, len);
-
 
406
 
-
 
407
  if (*fname == 0) goto SKIPLOADING;
-
 
408
 
398
  if (_dos_open(fname, O_RDONLY, &fd) != 0) {
409
  if (_dos_open(fname, O_RDONLY, &fd) != 0) {
399
    mdr_coutraw_puts("Failed to open file:");
410
    mdr_coutraw_puts("Failed to open file:");
400
    mdr_coutraw_puts(fname);
411
    mdr_coutraw_puts(fname);
-
 
412
    free(db);
401
    return(NULL);
413
    return(NULL);
402
  }
414
  }
403
 
415
 
404
  len = strlen(fname) + 1;
-
 
405
  db = calloc(1, sizeof(struct file) + len);
-
 
406
  if (db == NULL) {
-
 
407
    _dos_close(fd);
-
 
408
    return(NULL);
-
 
409
  }
-
 
410
  memcpy(db->fname, fname, len);
-
 
411
 
-
 
412
  db->lfonly = 1;
416
  db->lfonly = 1;
413
 
417
 
414
  do {
418
  do {
415
    if (_dos_read(fd, buff + prevlen, sizeof(buff) - prevlen, &len) == 0) {
419
    if (_dos_read(fd, buff + prevlen, sizeof(buff) - prevlen, &len) == 0) {
416
      len += prevlen;
420
      len += prevlen;
Line 441... Line 445...
441
    prevlen = len;
445
    prevlen = len;
442
  } while (len > 0);
446
  } while (len > 0);
443
 
447
 
444
  _dos_close(fd);
448
  _dos_close(fd);
445
 
449
 
-
 
450
  SKIPLOADING:
-
 
451
 
446
  /* add an empty line at end if not present already, also rewind cursor to top of file */
452
  /* add an empty line at end if not present already, also rewind cursor to top of file */
447
  if (db != NULL) {
453
  if (db != NULL) {
448
    if (db->cursor->len != 0) line_add(db, "");
454
    if ((db->cursor == NULL) || (db->cursor->len != 0)) line_add(db, "");
449
    db_rewind(db);
455
    db_rewind(db);
450
  }
456
  }
451
 
457
 
452
  return(db);
458
  return(db);
453
}
459
}