Changeset 2271 in MondoRescue
- Timestamp:
- Jul 12, 2009, 2:05:30 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.2.10/mondo/src/common/libmondo-cli.c
r2241 r2271 89 89 90 90 /*@ buffers *************** */ 91 char *tmp ;91 char *tmp = NULL; 92 92 char flag_val[128][MAX_STR_LEN]; 93 93 bool flag_set[128]; 94 94 95 tmp = malloc(9*MAX_STR_LEN);96 95 for (i = 0; i < 128; i++) { 97 96 flag_val[i][0] = '\0'; … … 109 108 retval += res; 110 109 } 111 /*112 if (!retval)113 {114 */115 110 log_msg(3, "Switches:-"); 116 111 for (i = 0; i < 128; i++) { 117 112 if (flag_set[i]) { 118 sprintf(tmp, "-%c %s", i, flag_val[i]);113 mr_asprintf(&tmp, "-%c %s", i, flag_val[i]); 119 114 log_msg(3, tmp); 120 }121 }122 //}123 sprintf(tmp, "rm -Rf %s/tmp.mondo.*", bkpinfo->tmpdir);115 mr_free(tmp); 116 } 117 } 118 mr_asprintf(&tmp, "rm -Rf %s/tmp.mondo.*", bkpinfo->tmpdir); 124 119 paranoid_system(tmp); 125 sprintf(tmp, "rm -Rf %s/mondo.scratch.*", bkpinfo->scratchdir); 120 mr_free(tmp); 121 122 mr_asprintf(&tmp, "rm -Rf %s/mondo.scratch.*", bkpinfo->scratchdir); 126 123 paranoid_system(tmp); 124 mr_free(tmp); 125 127 126 sprintf(bkpinfo->scratchdir + strlen(bkpinfo->scratchdir), 128 127 "/mondo.scratch.%ld", random() % 32767); 129 sprintf(tmp, "mkdir -p %s/tmpfs", bkpinfo->tmpdir);128 mr_asprintf(&tmp, "mkdir -p %s/tmpfs", bkpinfo->tmpdir); 130 129 paranoid_system(tmp); 131 sprintf(tmp, "mkdir -p %s", bkpinfo->scratchdir); 130 mr_free(tmp); 131 132 mr_asprintf(&tmp, "mkdir -p %s", bkpinfo->scratchdir); 132 133 paranoid_system(tmp); 133 paranoid_free(tmp);134 mr_free(tmp); 134 135 return (retval); 135 136 } … … 148 149 { 149 150 int j; 150 char tmp[MAX_STR_LEN], *p, comment[MAX_STR_LEN]; 151 char tmp[MAX_STR_LEN], *p, 152 char *comment = NULL; 151 153 152 154 assert(bkpinfo != NULL); … … 159 161 *(strchr(tmp, ',')) = '\0'; 160 162 bkpinfo->media_size[j] = friendly_sizestr_to_sizelong(tmp); 161 sprintf(comment, "media_size[%d] = %ld", j, 162 bkpinfo->media_size[j]); 163 mr_asprintf(&comment, "media_size[%d] = %ld", j, bkpinfo->media_size[j]); 163 164 log_msg(3, comment); 165 mr_free(comment); 164 166 } 165 167 for (; j <= MAX_NOOF_MEDIA; j++) { … … 668 670 char *tmp = NULL; 669 671 char *tmp1 = NULL; 672 char *tmp2 = NULL; 670 673 char *psz = NULL; 671 674 char *p = NULL; … … 904 907 } 905 908 flag_set['d'] = TRUE; 906 sprintf(tmp,909 mr_asprintf(&tmp1, 907 910 "You didn't specify a tape streamer device. I'm assuming %s", 908 911 flag_val['d']); 909 log_to_screen(tmp); 912 log_to_screen(tmp1); 913 mr_free(tmp1); 910 914 percent = 0; 911 915 } … … 1015 1019 strcpy(bkpinfo->nfs_mount,tmp); 1016 1020 } 1017 sprintf(tmp, "mount | grep -E \"^%s[/]* .*\" | cut -d' ' -f3",1021 mr_asprintf(&tmp1, "mount | grep -E \"^%s[/]* .*\" | cut -d' ' -f3", 1018 1022 bkpinfo->nfs_mount); 1019 1023 strncpy(bkpinfo->isodir, 1020 call_program_and_get_last_line_of_output(tmp ),1024 call_program_and_get_last_line_of_output(tmp1), 1021 1025 MAX_STR_LEN / 4); 1026 mr_free(tmp1); 1027 1022 1028 if (strlen(bkpinfo->isodir) < 3) { 1023 1029 log_to_screen("NFS share is not mounted. Trying to mount it for you.\n"); 1024 sprintf(tmp, "mount %s", bkpinfo->nfs_mount); 1025 if (system(tmp)) { 1030 mr_asprintf(&tmp1, "mount %s", bkpinfo->nfs_mount); 1031 i = system(tmp1); 1032 mr_free(tmp1); 1033 if (i) { 1026 1034 log_to_screen("Unable to mount NFS share %s. Please mount manually.\n", bkpinfo->nfs_mount); 1027 1035 retval++; 1028 1036 } else { 1029 sprintf(tmp, "mount | grep -E \"^%s[/]* .*\" | cut -d' ' -f3", 1030 bkpinfo->nfs_mount); 1037 mr_asprintf(&tmp1, "mount | grep -E \"^%s[/]* .*\" | cut -d' ' -f3", bkpinfo->nfs_mount); 1031 1038 strncpy(bkpinfo->isodir, 1032 call_program_and_get_last_line_of_output(tmp ),1039 call_program_and_get_last_line_of_output(tmp1), 1033 1040 MAX_STR_LEN / 4); 1041 mr_free(tmp1); 1042 1034 1043 if (strlen(bkpinfo->isodir) < 3) { 1035 1044 retval++; … … 1124 1133 } 1125 1134 } 1126 paranoid_free(tmp1);1135 mr_free(tmp1); 1127 1136 lastpos = 0; 1128 1137 while ((token = mr_strtok(flag_val['E'], token_chars, &lastpos)) != NULL) { … … 1227 1236 && !does_file_exist(bkpinfo->kernel_path)) { 1228 1237 retval++; 1229 sprintf(tmp,1238 mr_asprintf(&tmp1, 1230 1239 "You specified kernel '%s', which does not exist\n", 1231 1240 bkpinfo->kernel_path); 1232 log_to_screen(tmp); 1241 log_to_screen(tmp1); 1242 mr_free(tmp1); 1233 1243 } 1234 1244 } … … 1242 1252 if (flag_set['i']) { 1243 1253 strncpy(bkpinfo->isodir, flag_val['d'], MAX_STR_LEN / 4); 1244 sprintf(tmp, "ls -l %s", bkpinfo->isodir); 1245 if (run_program_and_log_output(tmp, 2)) { 1254 mr_asprintf(&tmp1, "ls -l %s", bkpinfo->isodir); 1255 if (run_program_and_log_output(tmp1, 2)) { 1256 mr_free(tmp1); 1246 1257 fatal_error 1247 1258 ("output folder does not exist - please create it"); 1248 1259 } 1260 mr_free(tmp1); 1249 1261 } else if (flag_set['n']) { 1250 1262 strncpy(bkpinfo->nfs_remote_dir, flag_val['d'], MAX_STR_LEN); … … 1257 1269 mr_asprintf(&tmp1,"%s/%s/.dummy.txt", bkpinfo->isodir,bkpinfo->nfs_remote_dir); 1258 1270 if (bkpinfo->nfs_user) { 1259 sprintf(tmp, "su - %s -c \"echo hi > %s\"", bkpinfo->nfs_user, tmp1);1271 mr_asprintf(&tmp2, "su - %s -c \"echo hi > %s\"", bkpinfo->nfs_user, tmp1); 1260 1272 } else { 1261 sprintf(tmp, "echo hi > %s", tmp1); 1262 } 1263 if (run_program_and_log_output(tmp, 2)) { 1273 mr_asprintf(&tmp2, "echo hi > %s", tmp1); 1274 } 1275 i = run_program_and_log_output(tmp2, 2); 1276 mr_free(tmp2); 1277 1278 if (i) { 1264 1279 retval++; 1265 sprintf(tmp,1280 mr_asprintf(&tmp2, 1266 1281 "Are you sure directory '%s' exists in remote dir '%s'?\nIf so, do you have rights to write to it?\n", 1267 1282 bkpinfo->nfs_remote_dir, bkpinfo->nfs_mount); 1268 log_to_screen(tmp); 1283 log_to_screen(tmp2); 1284 mr_free(tmp2); 1269 1285 } 1270 1286 unlink(tmp1); 1271 paranoid_free(tmp1);1287 mr_free(tmp1); 1272 1288 } 1273 1289 … … 1311 1327 if (flag_set['T']) { 1312 1328 setup_tmpdir(flag_val['T']); 1313 sprintf(tmp, "touch %s/.foo.dat", bkpinfo->tmpdir); 1314 if (run_program_and_log_output(tmp, 1)) { 1329 mr_asprintf(&tmp1, "touch %s/.foo.dat", bkpinfo->tmpdir); 1330 i = run_program_and_log_output(tmp1, 1); 1331 mr_free(tmp1); 1332 1333 if (i) { 1315 1334 retval++; 1316 log_to_screen 1317 ("Please specify a tempdir which I can write to. :)"); 1335 log_to_screen("Please specify a tempdir which I can write to. :)"); 1318 1336 fatal_error("I cannot write to the tempdir you specified."); 1319 1337 } 1320 sprintf(tmp, "ln -sf %s/.foo.dat %s/.bar.dat", bkpinfo->tmpdir, bkpinfo->tmpdir); 1321 if (run_program_and_log_output(tmp, 1)) { 1338 mr_asprintf(&tmp1, "ln -sf %s/.foo.dat %s/.bar.dat", bkpinfo->tmpdir, bkpinfo->tmpdir); 1339 i = run_program_and_log_output(tmp1, 1); 1340 mr_free(tmp1); 1341 1342 if (i) { 1322 1343 retval++; 1323 log_to_screen 1324 ("Please don't specify a SAMBA or VFAT or NFS tmpdir."); 1344 log_to_screen("Please don't specify a SAMBA or VFAT or NFS tmpdir."); 1325 1345 fatal_error("I cannot write to the tempdir you specified."); 1326 1346 }
Note:
See TracChangeset
for help on using the changeset viewer.