Subversion Repositories SvarDOS

Rev

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

Rev 1359 Rev 1361
Line 536... Line 536...
536
    if ((_dos_read(fd, buff, sizeof(buff), &len) != 0) || (len == 0)) break;
536
    if ((_dos_read(fd, buff, sizeof(buff), &len) != 0) || (len == 0)) break;
537
    buffptr = buff;
537
    buffptr = buff;
538
 
538
 
539
    FINDLINE:
539
    FINDLINE:
540
 
540
 
541
    /* look for nearest \n */
541
    /* look for nearest \n (also expand tabs) */
542
    for (consumedbytes = 0;; consumedbytes++) {
542
    for (consumedbytes = 0;; consumedbytes++) {
-
 
543
 
-
 
544
      if (buffptr[consumedbytes] == '\t') {
-
 
545
        llen = consumedbytes;
-
 
546
        break;
-
 
547
      }
-
 
548
 
543
      if (consumedbytes == len) {
549
      if (consumedbytes == len) {
544
        llen = consumedbytes;
550
        llen = consumedbytes;
545
        break;
551
        break;
546
      }
552
      }
547
      if (buffptr[consumedbytes] == '\r') {
553
      if (buffptr[consumedbytes] == '\r') {
Line 572... Line 578...
572
        goto IOERR;
578
        goto IOERR;
573
      }
579
      }
574
      eolfound = 0;
580
      eolfound = 0;
575
    }
581
    }
576
 
582
 
-
 
583
    /* append 8 spaces if tab char found */
-
 
584
    if ((consumedbytes < len) && (buffptr[consumedbytes] == '\t')) {
-
 
585
      consumedbytes++;
-
 
586
      if (line_append(db, "        ", 8) != 0) {
-
 
587
        goto IOERR;
-
 
588
      }
-
 
589
    }
-
 
590
 
577
    /* anything left? process the buffer leftover again */
591
    /* anything left? process the buffer leftover again */
578
    if (consumedbytes < len) {
592
    if (consumedbytes < len) {
579
      len -= consumedbytes;
593
      len -= consumedbytes;
580
      buffptr += consumedbytes;
594
      buffptr += consumedbytes;
581
      goto FINDLINE;
595
      goto FINDLINE;