関数 | |
static int | file_newer (const char *fname1, const char *fname2) |
static void | usage (void) |
int | main (int argc, char *argv[]) |
変数 | |
int | optind |
char * | optarg |
static int file_newer | ( | const char * | fname1, | |
const char * | fname2 | |||
) | [static] |
tdbbackup.c の 78 行で定義されています。
参照元 main().
00079 { 00080 struct stat st1, st2; 00081 if (stat(fname1, &st1) != 0) { 00082 return 0; 00083 } 00084 if (stat(fname2, &st2) != 0) { 00085 return 1; 00086 } 00087 return (st1.st_mtime > st2.st_mtime); 00088 }
static void usage | ( | void | ) | [static] |
tdbbackup.c の 90 行で定義されています。
参照先 printf().
00091 { 00092 printf("Usage: tdbbackup [options] <fname...>\n\n"); 00093 printf(" -h this help message\n"); 00094 printf(" -s suffix set the backup suffix\n"); 00095 printf(" -v verify mode (restore if corrupt)\n"); 00096 printf(" -n hashsize set the new hash size for the backup\n"); 00097 }
int main | ( | int | argc, | |
char * | argv[] | |||
) |
tdbbackup.c の 100 行で定義されています。
参照先 add_suffix()・backup_tdb()・c・file_newer()・optarg・optind・usage()・verify_tdb().
00101 { 00102 int i; 00103 int ret = 0; 00104 int c; 00105 int verify = 0; 00106 int hashsize = 0; 00107 const char *suffix = ".bak"; 00108 00109 while ((c = getopt(argc, argv, "vhs:n:")) != -1) { 00110 switch (c) { 00111 case 'h': 00112 usage(); 00113 exit(0); 00114 case 'v': 00115 verify = 1; 00116 break; 00117 case 's': 00118 suffix = optarg; 00119 break; 00120 case 'n': 00121 hashsize = atoi(optarg); 00122 break; 00123 } 00124 } 00125 00126 argc -= optind; 00127 argv += optind; 00128 00129 if (argc < 1) { 00130 usage(); 00131 exit(1); 00132 } 00133 00134 for (i=0; i<argc; i++) { 00135 const char *fname = argv[i]; 00136 char *bak_name; 00137 00138 bak_name = add_suffix(fname, suffix); 00139 00140 if (verify) { 00141 if (verify_tdb(fname, bak_name) != 0) { 00142 ret = 1; 00143 } 00144 } else { 00145 if (file_newer(fname, bak_name) && 00146 backup_tdb(fname, bak_name, hashsize) != 0) { 00147 ret = 1; 00148 } 00149 } 00150 00151 free(bak_name); 00152 } 00153 00154 return ret; 00155 }
int optind |
char* optarg |