File: zap.cpp

package info (click to toggle)
xdb 1.2.0-7.2
  • links: PTS
  • area: main
  • in suites: lenny, squeeze, wheezy
  • size: 1,688 kB
  • ctags: 1,053
  • sloc: cpp: 14,001; sh: 6,711; makefile: 150
file content (67 lines) | stat: -rw-r--r-- 2,151 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/*  $Id: zap.cpp,v 1.4 1999/03/19 10:56:32 willy Exp $

    Xbase project source code

    This sample program zaps an Xbase DBF file

    Copyright (C) 1997  StarTech, Gary A. Kunkel   
    email - xbase@startech.keller.tx.us
    www   - http://www.startech.keller.tx.us/xbase.html

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

    V 1.0   10/10/97   - Initial release of software
    V 1.8   11/29/98   - Version 1.8 upgrade
*/

#include <xdb/xbase.h>

int main(int ac,char** av)
{
   if (ac <= 1) {
       std::cout << 
           "\nUsage: zap filename...\n"
           "\nThis program does not automatically reindex any indices."
           "\nUse the reindex program to reindex any indexes associated"
           "\nwith the database, or build your own program which executes "
           "\nthe PackDatabase() method after opening all the index files "
           "\nassociated with the database.\n\n"
           ;
       return 1;
   }

   for (int i=1; i<ac; ++i) {
       char* filename = av[i];

   xbXBase x;
   xbDbf MyFile( &x );

       if( MyFile.OpenDatabase( filename )) {
      std::cout << "Could not open file " << filename << "\n";
      return 0;
   }

       xbShort rc = MyFile.Zap( F_SETLKW );
       if( rc != XB_NO_ERROR ) {
      std::cout << "\nError zapping database ==> " << filename;
      std::cout << " Return Code = " << rc;
   }
   MyFile.CloseDatabase();	/* close database */

   std::cout << "\nZap Database complete...\n\n";
   }

   return 0;
}