home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_300 / 311_01 / dtest.c < prev    next >
C/C++ Source or Header  |  1990-04-22  |  3KB  |  134 lines

  1. /****************************************************************************/
  2. /*                                                                          */
  3. /*                                                                          */
  4. /*      dtest.c  v1.3  (c) 1990  Ken Harris                                 */
  5. /*                                                                          */
  6. /*                                                                          */
  7. /****************************************************************************/
  8. /*                                                                          */
  9. /*      This software is made available on an AS-IS basis. Unrestricted     */
  10. /*      use is granted provided that the copyright notice remains intact.   */
  11. /*      The author makes no warranties expressed or implied.                */
  12. /*                                                                          */
  13. /****************************************************************************/
  14.  
  15. #include <stdio.h>
  16. #include "db.h"
  17.  
  18. char *name_list[] = {"Tom", "Dick", "Fred", "Allen", "Mike", "Sam", "Harry",
  19.              "William", "Bob", "Ted", ""};
  20.  
  21. main()
  22. {    DICT d;
  23.     char **names, **data, buf[5];
  24.     int cnt,i;
  25.  
  26.     printf("Creating dict...\n");
  27.     d = db_dict_init();
  28.     if (db_error)
  29.     {    printf("%s\n",db_error_msg(db_error));
  30.         exit(0);
  31.     }
  32.  
  33.     printf("Adding names...\n");
  34.     for (i=0; *name_list[i]; i++)
  35.     {    sprintf(buf,"%04d", i);
  36.         printf("%s  %s\n",name_list[i], buf);
  37.         db_dict_add(d, name_list[i],  1, strlen(buf)+1, buf);
  38.         if (db_error)
  39.         {    printf("%s\n",db_error_msg(db_error));
  40.             exit(0);
  41.         }
  42.     }
  43.  
  44.     printf("Find all and print...\n");
  45.     cnt = db_dict_find_all(d, 0, &names, &data);
  46.     if (db_error)
  47.     {    printf("%s\n",db_error_msg(db_error));
  48.         exit(0);
  49.     }
  50.  
  51.     printf("cnt = %d\n",cnt);
  52.     for (i=0; i<cnt; i++)
  53.     {    printf("  %s  %s\n",names[i],data[i]);
  54.     }
  55.     free(names);
  56.     free(data);
  57.  
  58.     printf("Dump...\n");
  59.     db_dict_dump(d,"","dtest.dat");
  60.     if (db_error)
  61.     {    printf("%s\n",db_error_msg(db_error));
  62.         exit(0);
  63.     }
  64.  
  65.     printf("Close...\n");
  66.     db_dict_close(d);
  67.     if (db_error)
  68.     {    printf("%s\n",db_error_msg(db_error));
  69.         exit(0);
  70.     }
  71.  
  72.     printf("Init...\n");
  73.     d = db_dict_init();
  74.     if (db_error)
  75.     {    printf("%s\n",db_error_msg(db_error));
  76.         exit(0);
  77.     }
  78.  
  79.     printf("Load...\n");
  80.     db_dict_load(d,"","dtest.dat");
  81.     if (db_error)
  82.     {    printf("%s\n",db_error_msg(db_error));
  83.         exit(0);
  84.     }
  85.  
  86.     printf("Find all and print...\n");
  87.     cnt = db_dict_find_all(d, 0, &names, &data);
  88.     if (db_error)
  89.     {    printf("%s\n",db_error_msg(db_error));
  90.         exit(0);
  91.     }
  92.  
  93.     printf("cnt = %d\n",cnt);
  94.     for (i=0; i<cnt; i++)
  95.     {    printf("  %s  %s\n",names[i],data[i]);
  96.     }
  97.     free(names);
  98.     free(data);
  99.  
  100.     printf("Delete a few...\n");
  101.     for (i=0; *name_list[i];)
  102.     {    printf("%s\n",name_list[i]);
  103.         db_dict_delete(d, name_list[i],  1);
  104.         if (db_error)
  105.         {    printf("%s\n",db_error_msg(db_error));
  106.             exit(0);
  107.         }
  108.         i++;
  109.         if (*name_list[i]) i++;
  110.     }
  111.  
  112.     printf("Find all and print...\n");
  113.     cnt = db_dict_find_all(d, 0, &names, &data);
  114.     if (db_error)
  115.     {    printf("%s\n",db_error_msg(db_error));
  116.         exit(0);
  117.     }
  118.  
  119.     printf("cnt = %d\n",cnt);
  120.     for (i=0; i<cnt; i++)
  121.     {    printf("  %s  %s\n",names[i],data[i]);
  122.     }
  123.     free(names);
  124.     free(data);
  125.  
  126.     printf("Close...\n");
  127.     db_dict_close(d);
  128.     if (db_error)
  129.     {    printf("%s\n",db_error_msg(db_error));
  130.         exit(0);
  131.     }
  132.     unlink("dtest.dat");
  133. }
  134.