Subversion Repositories SvarDOS

Rev

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

Rev 1310 Rev 1311
Line 391... Line 391...
391
 
391
 
392
  return(r);
392
  return(r);
393
}
393
}
394
 
394
 
395
 
395
 
-
 
396
static int savefile(const struct linedb *db, const char *fname) {
-
 
397
  int fd;
-
 
398
  const struct line far *l;
-
 
399
  unsigned bytes;
-
 
400
  if (_dos_open(fname, O_WRONLY, &fd) != 0) {
-
 
401
    return(-1);
-
 
402
  }
-
 
403
 
-
 
404
  l = db->cursor;
-
 
405
  while (l->prev) l = l->prev;
-
 
406
 
-
 
407
  while (l) {
-
 
408
    _dos_write(fd, l->payload, l->len, &bytes);
-
 
409
    _dos_write(fd, "\r\n", 2, &bytes);
-
 
410
    l = l->next;
-
 
411
  }
-
 
412
 
-
 
413
  _dos_close(fd);
-
 
414
  return(0);
-
 
415
}
-
 
416
 
-
 
417
 
396
int main(void) {
418
int main(void) {
397
  const char *fname;
419
  const char *fname;
398
  struct linedb db;
420
  struct linedb db;
399
  unsigned char screenw = 0, screenh = 0;
421
  unsigned char screenw = 0, screenh = 0;
400
  unsigned char cursorposx = 0, cursorposy = 0;
422
  unsigned char cursorposx = 0, cursorposy = 0;
Line 509... Line 531...
509
    } else if (k == 0x13b) { /* F1 */
531
    } else if (k == 0x13b) { /* F1 */
510
      ui_help(screenw);
532
      ui_help(screenw);
511
      uidirtyfrom = 0;
533
      uidirtyfrom = 0;
512
      uidirtyto = 0xff;
534
      uidirtyto = 0xff;
513
 
535
 
-
 
536
    } else if (k == 0x13f) { /* F5 */
-
 
537
      savefile(&db, fname);
-
 
538
 
514
    } else { /* UNHANDLED KEY - TODO IGNORE THIS IN PRODUCTION RELEASE */
539
    } else { /* UNHANDLED KEY - TODO IGNORE THIS IN PRODUCTION RELEASE */
515
      char buff[4];
540
      char buff[4];
516
      const char *HEX = "0123456789ABCDEF";
541
      const char *HEX = "0123456789ABCDEF";
517
      buff[0] = HEX[(k >> 8) & 15];
542
      buff[0] = HEX[(k >> 8) & 15];
518
      buff[1] = HEX[(k >> 4) & 15];
543
      buff[1] = HEX[(k >> 4) & 15];