*/
#include "amanda.h"
+#include "util.h"
#include "amrecover.h"
#ifdef SAMBA_CLIENT
}
else
{
- printf("No index records for cwd on new date\n");
- printf("Setting cwd to mount point\n");
+ g_printf(_("No index records for cwd on new date\n"));
+ g_printf(_("Setting cwd to mount point\n"));
disk_path = newstralloc(disk_path, "/"); /* fake it */
clear_dir_list();
}
struct hostent *hp;
char **hostp;
int found_host = 0;
+ char *uqhost = unquote_string(host);
if (is_extract_list_nonempty())
{
- printf("Must clear extract list before changing host\n");
+ g_printf(_("Must clear extract list before changing host\n"));
return;
}
- cmd = stralloc2("HOST ", host);
+ cmd = stralloc2("HOST ", uqhost);
if (converse(cmd) == -1)
exit(1);
if (server_happy())
* Try converting the given host to a fully qualified name
* and then try each of the aliases.
*/
- if ((hp = gethostbyname(host)) != NULL) {
+ if ((hp = gethostbyname(uqhost)) != NULL) {
host = hp->h_name;
- printf("Trying host %s ...\n", host);
+ g_printf(_("Trying host %s ...\n"), host);
cmd = newstralloc2(cmd, "HOST ", host);
if (converse(cmd) == -1)
exit(1);
{
for (hostp = hp->h_aliases; (host = *hostp) != NULL; hostp++)
{
- printf("Trying host %s ...\n", host);
+ g_printf(_("Trying host %s ...\n"), host);
cmd = newstralloc2(cmd, "HOST ", host);
if (converse(cmd) == -1)
exit(1);
clear_dir_list();
}
amfree(cmd);
+ amfree(uqhost);
}
char * mtpt)
{
char *cmd = NULL;
+ char *uqdsk;
+ char *uqmtpt = NULL;
if (is_extract_list_nonempty())
{
- printf("Must clear extract list before changing disk\n");
+ g_printf(_("Must clear extract list before changing disk\n"));
return;
}
/* if mount point specified, check it is valid */
- if ((mtpt != NULL) && (*mtpt != '/'))
- {
- printf("Mount point \"%s\" invalid - must start with /\n", mtpt);
- return;
+ if (mtpt != NULL) {
+ uqmtpt = unquote_string(mtpt);
+ if (*mtpt != '/') {
+ g_printf(_("Mount point \"%s\" invalid - must start with /\n"), uqmtpt);
+ amfree(uqmtpt);
+ return;
+ }
}
clear_dir_list();
- cmd = stralloc2("DISK ", dsk);
+ uqdsk = unquote_string(dsk);
+ cmd = stralloc2("DISK ", uqdsk);
if (converse(cmd) == -1)
exit(1);
amfree(cmd);
if (!server_happy())
return;
- disk_name = newstralloc(disk_name, dsk);
+ disk_name = newstralloc(disk_name, uqdsk);
if (mtpt == NULL)
{
/* mount point not specified */
- if (*dsk == '/')
+ if (*uqdsk == '/')
{
/* disk specified by mount point, hence use it */
- mount_point = newstralloc(mount_point, dsk);
+ mount_point = newstralloc(mount_point, uqdsk);
}
else
{
else
{
/* mount point specified */
- mount_point = newstralloc(mount_point, mtpt);
+ mount_point = newstralloc(mount_point, uqmtpt);
}
/* set the working directory to the mount point */
}
else
{
- printf("No index records for disk for specified date\n");
- printf("If date correct, notify system administrator\n");
+ g_printf(_("No index records for disk for specified date\n"));
+ g_printf(_("If date correct, notify system administrator\n"));
disk_path = newstralloc(disk_path, "/"); /* fake it */
clear_dir_list();
}
+ amfree(uqmtpt);
+ amfree(uqdsk);
}
void
char * amdevice)
{
char *cmd = NULL;
+ char *uqamdevice;
if(amdevice) {
- cmd = stralloc2("LISTDISK ", amdevice);
+ uqamdevice = unquote_string(amdevice);
+ cmd = stralloc2("LISTDISK ", uqamdevice);
+ amfree(uqamdevice);
if (converse(cmd) == -1)
exit(1);
amfree(cmd);
}
}
+void
+local_cd(
+ char *dir)
+{
+ char *uqdir = unquote_string(dir);
+ if (chdir(uqdir) == -1) {
+ perror(uqdir);
+ }
+ amfree(uqdir);
+}
+
void
cd_glob(
char * glob)
char *regex;
char *regex_path;
char *s;
+ char *uqglob;
char *path_on_disk = NULL;
if (disk_name == NULL) {
- printf("Must select disk before changing directory\n");
+ g_printf(_("Must select disk before changing directory\n"));
return;
}
- regex = glob_to_regex(glob);
- dbprintf(("cd_glob (%s) -> %s\n", glob, regex));
+ uqglob = unquote_string(glob);
+ regex = glob_to_regex(uqglob);
+ dbprintf(_("cd_glob (%s) -> %s\n"), uqglob, regex);
if ((s = validate_regexp(regex)) != NULL) {
- printf("\"%s\" is not a valid shell wildcard pattern: ", glob);
+ g_printf(_("\"%s\" is not a valid shell wildcard pattern: "), glob);
puts(s);
amfree(regex);
return;
amfree(clean_disk_path);
}
- cd_dir(path_on_disk, glob);
+ cd_dir(path_on_disk, uqglob);
amfree(regex_path);
amfree(path_on_disk);
+ amfree(uqglob);
}
void
char * regex)
{
char *s;
+ char *uqregex;
char *path_on_disk = NULL;
if (disk_name == NULL) {
- printf("Must select disk before changing directory\n");
+ g_printf(_("Must select disk before changing directory\n"));
return;
}
- if ((s = validate_regexp(regex)) != NULL) {
- printf("\"%s\" is not a valid regular expression: ", regex);
+ uqregex = unquote_string(regex);
+ if ((s = validate_regexp(uqregex)) != NULL) {
+ g_printf(_("\"%s\" is not a valid regular expression: "), uqregex);
+ amfree(uqregex);
puts(s);
return;
}
amfree(clean_disk_path);
}
- cd_dir(path_on_disk, regex);
+ cd_dir(path_on_disk, uqregex);
amfree(path_on_disk);
+ amfree(uqregex);
}
void
if(dir[strlen(dir)-1] == '/')
dir[strlen(dir)-1] = '\0'; /* remove last / */
/* remove everything before the last / */
- dir1 = rindex(dir,'/');
+ dir1 = strrchr(dir,'/');
if (dir1) {
dir1++;
dir2 = stralloc(dir1);
set_directory(dir);
}
else {
- printf("Too many directory\n");
+ g_printf(_("Too many directory\n"));
}
amfree(dir);
}
}
if (disk_name == NULL) {
- printf("Must select disk before setting directory\n");
+ g_printf(_("Must select disk before setting directory\n"));
return;
/*NOTREACHED*/
}
{
if (strncmp(mount_point, ldir, strlen(mount_point)) != 0)
{
- printf("Invalid directory - Can't cd outside mount point \"%s\"\n",
+ g_printf(_("Invalid directory - Can't cd outside mount point \"%s\"\n"),
mount_point);
amfree(ldir);
return;
if (strcmp(dp, "..") == 0) {
if (strcmp(new_dir, "/") == 0) {
/* at top of disk */
- printf("Invalid directory - Can't cd outside mount point \"%s\"\n",
+ g_printf(_("Invalid directory - Can't cd outside mount point \"%s\"\n"),
mount_point);
/*@ignore@*/
amfree(new_dir);
}
else
{
- printf("Invalid directory - %s\n", dir);
+ g_printf(_("Invalid directory - %s\n"), dir);
}
/*@ignore@*/
show_directory(void)
{
if (mount_point == NULL || disk_path == NULL)
- printf("Must select disk first\n");
+ g_printf(_("Must select disk first\n"));
else if (strcmp(mount_point, "/") == 0)
- printf("%s\n", disk_path);
+ g_printf("%s\n", disk_path);
else if (strcmp(disk_path, "/") == 0)
- printf("%s\n", mount_point);
+ g_printf("%s\n", mount_point);
else
- printf("%s%s\n", mount_point, disk_path);
+ g_printf("%s%s\n", mount_point, disk_path);
}
set_tape(
char * tape)
{
- char *tapedev = strchr(tape, ':');
+ char *uqtape = unquote_string(tape);
+ char *tapedev = strchr(uqtape, ':');
if (tapedev)
{
- if (tapedev != tape) {
+ if (tapedev != uqtape) {
if((strchr(tapedev+1, ':') == NULL) &&
- (strncmp(tape, "null:", 5) == 0 ||
- strncmp(tape, "rait:", 5) == 0 ||
- strncmp(tape, "file:", 5) == 0 ||
- strncmp(tape, "tape:", 5) == 0)) {
- tapedev = tape;
+ (strncmp(uqtape, "null:", 5) == 0 ||
+ strncmp(uqtape, "rait:", 5) == 0 ||
+ strncmp(uqtape, "file:", 5) == 0 ||
+ strncmp(uqtape, "tape:", 5) == 0)) {
+ tapedev = uqtape;
}
else {
*tapedev = '\0';
- tape_server_name = newstralloc(tape_server_name, tape);
+ tape_server_name = newstralloc(tape_server_name, uqtape);
++tapedev;
}
} else { /* reset server_name if start with : */
++tapedev;
}
} else
- tapedev = tape;
+ tapedev = uqtape;
if (tapedev[0])
{
}
if (tape_device_name)
- printf ("Using tape \"%s\"", tape_device_name);
+ g_printf (_("Using tape \"%s\""), tape_device_name);
else
- printf ("Using default tape");
+ g_printf (_("Using default tape"));
if (tape_server_name)
- printf (" from server %s.\n", tape_server_name);
+ g_printf (_(" from server %s.\n"), tape_server_name);
else
- printf (".\nTape server unspecified, assumed to be %s.\n",
+ g_printf (_(".\nTape server unspecified, assumed to be %s.\n"),
server_name);
}
{
#ifdef SAMBA_CLIENT
if (mode == SAMBA_SMBCLIENT) {
- printf ("SAMBA dumps will be extracted using smbclient\n");
+ g_printf (_("SAMBA dumps will be extracted using smbclient\n"));
samba_extract_method = SAMBA_SMBCLIENT;
} else {
if (mode == SAMBA_TAR) {
- printf ("SAMBA dumps will be extracted as TAR dumps\n");
+ g_printf (_("SAMBA dumps will be extracted as TAR dumps\n"));
samba_extract_method = SAMBA_TAR;
}
}
show_mode(void)
{
#ifdef SAMBA_CLIENT
- printf ("SAMBA dumps are extracted ");
+ g_printf (_("SAMBA dumps are extracted "));
if (samba_extract_method == SAMBA_TAR) {
- printf (" as TAR dumps\n");
+ g_printf (_(" as TAR dumps\n"));
} else {
- printf ("using smbclient\n");
+ g_printf (_("using smbclient\n"));
}
#endif /* SAMBA_CLIENT */
}