* file named AUTHORS, in the root directory of this distribution.
*/
/*
- * $Id: amrecover.c,v 1.73 2006/07/25 18:27:57 martinea Exp $
+ * $Id: amrecover.c,v 1.73.2.2 2007/01/24 18:33:30 martinea Exp $
*
* an interactive program for recovering backed-up files
*/
switch (i) {
case 'C':
add_client_conf(CLN_CONF, optarg);
- //config = newstralloc(config, optarg);
break;
case 's':
add_client_conf(CLN_INDEX_SERVER, optarg);
- //server_name = newstralloc(server_name, optarg);
break;
case 't':
add_client_conf(CLN_TAPE_SERVER, optarg);
- //tape_server_name = newstralloc(tape_server_name, optarg);
break;
case 'd':
add_client_conf(CLN_TAPEDEV, optarg);
- //tape_device_name = newstralloc(tape_device_name, optarg);
break;
case 'U':
report_bad_client_arg();
- amfree(server_name);
- server_name = getenv("AMANDA_SERVER");
- if(!server_name) server_name = client_getconf_str(CLN_INDEX_SERVER);
+ server_name = NULL;
+ if (client_getconf_seen(CLN_INDEX_SERVER) == -2) { /* command line argument */
+ server_name = client_getconf_str(CLN_INDEX_SERVER);
+ }
+ if (!server_name) {
+ server_name = getenv("AMANDA_SERVER");
+ if (server_name) {
+ printf("Using index server from environment AMANDA_SERVER (%s)\n", server_name);
+ }
+ }
+ if (!server_name) {
+ server_name = client_getconf_str(CLN_INDEX_SERVER);
+ }
+ if (!server_name) {
+ error("No index server set");
+ /*NOTREACHED*/
+ }
server_name = stralloc(server_name);
- amfree(tape_server_name);
- tape_server_name = getenv("AMANDA_TAPESERVER");
- if(!tape_server_name) tape_server_name = client_getconf_str(CLN_TAPE_SERVER);
+ tape_server_name = NULL;
+ if (client_getconf_seen(CLN_TAPE_SERVER) == -2) { /* command line argument */
+ tape_server_name = client_getconf_str(CLN_TAPE_SERVER);
+ }
+ if (!tape_server_name) {
+ tape_server_name = getenv("AMANDA_TAPE_SERVER");
+ if (!tape_server_name) {
+ tape_server_name = getenv("AMANDA_TAPESERVER");
+ if (tape_server_name) {
+ printf("Using tape server from environment AMANDA_TAPESERVER (%s)\n", tape_server_name);
+ }
+ } else {
+ printf("Using tape server from environment AMANDA_TAPE_SERVER (%s)\n", tape_server_name);
+ }
+ }
+ if (!tape_server_name) {
+ tape_server_name = client_getconf_str(CLN_TAPE_SERVER);
+ }
+ if (!tape_server_name) {
+ error("No tape server set");
+ /*NOTREACHED*/
+ }
tape_server_name = stralloc(tape_server_name);
amfree(tape_device_name);