Changeset 625


Ignore:
Timestamp:
1999-09-24T12:33:06+12:00 (25 years ago)
Author:
sjboddie
Message:

added -append option

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl/src/txt2db/txt2db.cpp

    r623 r625  
    4949
    5050void print_usage (char *program_name) {
    51   cerr << "usage: " << program_name << " database-name\n\n";
     51  cerr << "usage: " << program_name << " [options] database-name\n\n";
     52  cerr << "options:\n";
     53  cerr << " -append        append to existing database\n\n";
    5254}
    5355
     
    6163  text_t tmp;
    6264  int num_dashes = 0;
    63  
     65
    6466  // sanity check
    65   if (argc != 2) {
     67  if (argc != 2 && argc != 3) {
    6668    print_usage (argv[0]);
    6769    exit (0);
    6870  }
    6971 
     72  char *dbname;
     73  int append = 0;
     74  if (argc == 3) {
     75    if (strcmp (argv[1], "-append") == 0) {
     76      append = 1;
     77      dbname = argv[2];
     78    } else {
     79      cerr << argv[1] << " is not a valid option.\n\n";
     80      print_usage (argv[0]);
     81      exit (0);
     82    }
     83  } else dbname = argv[1];
     84
     85 
    7086  // open the database
    71   dbf = gdbm_open  (argv[1], block_size, GDBM_NEWDB | GDBM_FAST, 00664, NULL);
     87  // note that GDBM_FAST is obsolete on newer versions of gdbm
     88  int read_write = GDBM_NEWDB | GDBM_FAST;
     89  if (append) read_write = GDBM_WRCREAT | GDBM_FAST;
     90 
     91  dbf = gdbm_open  (dbname, block_size, read_write, 00664, NULL);
    7292  if (dbf == NULL) {
    73     cerr << "couldn't create " << argv[1] << "\n";
     93    cerr << "couldn't create " << dbname << "\n";
    7494    exit (0);
    7595  }
Note: See TracChangeset for help on using the changeset viewer.