faubackup2/src main.cpp,1.4,1.5

Martin Waitz <[email protected]> Tue, 07 Jun 2005 20:56:56 +0000
Newsgroups gmane.comp.sysutils.backup.faubackup.cvs
Message-ID <[email protected]>
Update of /cvsroot/faubackup/faubackup2/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15290/src

Modified Files:
	main.cpp 
Log Message:
use more popt features

Index: main.cpp
===================================================================
RCS file: /cvsroot/faubackup/faubackup2/src/main.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** main.cpp	7 Jun 2005 20:34:40 -0000	1.4
--- main.cpp	7 Jun 2005 20:56:54 -0000	1.5
***************
*** 34,85 ****
  using namespace faubackup;
  
- void print_usage()
- {
- 	std::cerr <<
- 	"Usage: faubackup [OPTION...] [[username@]hostname:]sourcedir [[username@]hostname:]destdir\n\n\n"
- 	"  -v, --verbose       Print more information about the backup\n"
- 	"  -r, --rsync         Use rsync-delta to transfer changed files instead of complete copy\n"
- 	"Help options:\n"
- 	"  -?, --help          Show this help message\n";
- }
- 
  int main(int argc, const char **argv)
  {
  	setIntHandler();
- 	int help = 0;
  	poptContext popt;
! 	int rc, inc;
  	char *server_destdir = NULL;
  	char *client_sourcedir = NULL;
  
- 	struct poptOption moreArgs[] = {
- 		{ "inc", 'i', 0, &inc, 0, "Eingefuegtes Argument" },
- 		{ NULL, '\0', 0, NULL, 0 }
- 	};
- 
  	struct poptOption options[] = {
! 		{"verbose",'v', POPT_ARG_NONE,0,'v', 0, 0 },
  		{ "rsync", 'r', POPT_ARG_NONE, &rsync, 0,
! 			"Use Rsync to transfer changed files" , NULL },
  		{ "one-file-system", 'x', POPT_ARG_NONE, &boundaries, 0,
! 		  "don't cross filesystem boundaries" , NULL },
  		{ "dry-run", 'n', POPT_ARG_NONE, &do_nothing, 0,
! 		  "don't cross filesystem boundaries" , NULL },
! 		{ NULL, '\0', POPT_ARG_INCLUDE_TABLE, &moreArgs, 0,
! 		  "Mehr Argumente" },
! 
! 		{ "server", '\0', POPT_ARG_STRING, &server_destdir, 0,
! 		  "Sollte nicht gezeigt werden", NULL },
! 		{ "client", '\0', POPT_ARG_STRING, &client_sourcedir, 0,
! 		  "Sollte nicht gezeigt werden", NULL },
! 		{ "help", '?', POPT_ARG_NONE, &help, 0,
! 		  "Help output", NULL},
! 		{ NULL, '\0', 0, NULL, 0 }
  	};
  
- 	if (help != 0) {
- 		print_usage();
- 		exit(0);
- 	}
  	/* argument parsing */
  	popt = poptGetContext("faubackup", argc, argv, options, 0);
--- 34,61 ----
  using namespace faubackup;
  
  int main(int argc, const char **argv)
  {
  	setIntHandler();
  	poptContext popt;
! 	int rc;
  	char *server_destdir = NULL;
  	char *client_sourcedir = NULL;
  
  	struct poptOption options[] = {
! 		{ "verbose", 'v', POPT_ARG_NONE, 0, 'v'},
  		{ "rsync", 'r', POPT_ARG_NONE, &rsync, 0,
! 			"Use Rsync to transfer changed files"},
  		{ "one-file-system", 'x', POPT_ARG_NONE, &boundaries, 0,
! 		  "don't cross filesystem boundaries"},
  		{ "dry-run", 'n', POPT_ARG_NONE, &do_nothing, 0,
! 		  "don't cross filesystem boundaries"},
! 		{ "server", '\0', POPT_ARG_STRING | POPT_ARGFLAG_DOC_HIDDEN,
! 			&server_destdir},
! 		{ "client", '\0', POPT_ARG_STRING | POPT_ARGFLAG_DOC_HIDDEN,
! 			&client_sourcedir},
! 		POPT_AUTOHELP
! 		POPT_TABLEEND
  	};
  
  	/* argument parsing */
  	popt = poptGetContext("faubackup", argc, argv, options, 0);
***************
*** 92,96 ****
  	}
  	if (rc < -1) {
! 		print_usage();
  		fprintf(stderr, "%s: %s\n",
  		        poptBadOption(popt, 0), poptStrerror(rc));
--- 68,72 ----
  	}
  	if (rc < -1) {
! 		poptPrintUsage(popt, stderr, 0);
  		fprintf(stderr, "%s: %s\n",
  		        poptBadOption(popt, 0), poptStrerror(rc));
***************
*** 116,130 ****
  	const char* temp;
  	if ((temp = poptGetArg(popt)) == NULL) {
! 		print_usage();
  		exit (-1);
  	}
  	struct cmdline_data source = parseCmdArg(temp);
  	if ((temp = poptGetArg(popt)) == NULL) {
! 		print_usage();
  		exit (-1);
  	}
  	struct cmdline_data destination = parseCmdArg(temp);
  	if (poptPeekArg(popt)) {
! 		print_usage();
  		fprintf(stderr, "too many parameters\n");
  		exit(1);
--- 92,106 ----
  	const char* temp;
  	if ((temp = poptGetArg(popt)) == NULL) {
! 		poptPrintUsage(popt, stderr, 0);
  		exit (-1);
  	}
  	struct cmdline_data source = parseCmdArg(temp);
  	if ((temp = poptGetArg(popt)) == NULL) {
! 		poptPrintUsage(popt, stderr, 0);
  		exit (-1);
  	}
  	struct cmdline_data destination = parseCmdArg(temp);
  	if (poptPeekArg(popt)) {
! 		poptPrintUsage(popt, stderr, 0);
  		fprintf(stderr, "too many parameters\n");
  		exit(1);



-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.  How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.  
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20