home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / library / dos / database / cdbms / dblist.c < prev    next >
Encoding:
C/C++ Source or Header  |  1987-06-01  |  928 b   |  41 lines

  1. /* --------------------- dblist.c ------------------------- */
  2. #include <stdio.h>
  3. #include "cdata.h"
  4. extern char *malloc();
  5. extern int free();
  6.  
  7. void dblist(fd, inter, f, k, list)
  8. FILE *fd;    /* output file */
  9. int inter;    /* true for user interaction and page breaks */
  10. int f;        /* file number */
  11. int k;        /* key number  */
  12. int *list;    /* list of elements */
  13. {
  14.     char *bf;
  15.     int rcdct = 0;
  16.     extern void clist(), test_eop(), oflow();
  17.     bf = malloc(rlen(f));
  18.     errno = 0;
  19.     if (k)
  20.         first_rcd(f, k, bf);
  21.     if (inter == 0)
  22.         oflow(fd, FALSE, dbfiles [f], list);
  23.     while (errno != D_EOF)    {
  24.         if (k)    {
  25.             clist(fd,inter,file_ele[f],list,bf,dbfiles[f]);
  26.             rcdct++;
  27.             next_rcd(f, k, bf);
  28.         }
  29.         else if (seqrcd(f, bf) != ERROR)    {
  30.             clist(fd,inter,file_ele[f],list,bf,dbfiles[f]);
  31.             rcdct++;
  32.         }
  33.     }
  34.     if (inter)    {
  35.         test_eop(fd, dbfiles [f], list);
  36.         fprintf(fd, "\nRecords: %d\n", rcdct);
  37.     }
  38.     free(bf);
  39. }
  40.  
  41.