Changeset 2357 in MondoRescue for branches/2.2.10/mondo/src/common/newt-specific.c
- Timestamp:
- Aug 29, 2009, 3:22:10 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.2.10/mondo/src/common/newt-specific.c
r2340 r2357 124 124 /*@ buffers ********************************************************** */ 125 125 int i; 126 char *tmp; 126 127 127 128 assert_string_is_neither_NULL_nor_zerolength(prompt); 128 129 129 130 if (g_text_mode) { 130 131 char *tmp;132 tmp = malloc(MAX_NEWT_COMMENT_LEN);133 134 131 while (1) { 135 132 system("sync"); 136 printf 137 ("---promptdialogYN---1--- %s\n---promptdialogYN---Q--- [yes] [no] ---\n--> ", 138 prompt); 139 (void) fgets(tmp, MAX_NEWT_COMMENT_LEN, stdin); 133 printf("---promptdialogYN---1--- %s\n---promptdialogYN---Q--- [yes] [no] ---\n--> ", prompt); 134 mr_getline(tmp, stdin); 140 135 if (tmp[strlen(tmp) - 1] == '\n') 141 136 tmp[strlen(tmp) - 1] = '\0'; … … 146 141 } 147 142 if (strstr("yesYES", tmp)) { 148 paranoid_free(tmp);143 mr_free(tmp); 149 144 return (TRUE); 150 145 } else if (strstr("NOno", tmp)) { 151 paranoid_free(tmp);146 mr_free(tmp); 152 147 return (FALSE); 153 148 } else { 154 149 system("sync"); 155 printf 156 ("Please enter either YES or NO (or yes or no, or y or n, or...)\n"); 150 printf("Please enter either YES or NO (or yes or no, or y or n, or...)\n"); 157 151 } 158 152 } … … 172 166 173 167 /*@ buffer *********************************************************** */ 174 char *tmp ;168 char *tmp = NULL; 175 169 int i; 176 170 177 tmp = malloc(MAX_NEWT_COMMENT_LEN);178 171 assert_string_is_neither_NULL_nor_zerolength(prompt); 172 179 173 if (g_text_mode) { 180 174 system("sync"); 181 printf 182 ("---promptdialogOKC---1--- %s\n---promptdialogOKC---Q--- [OK] [Cancel] ---\n--> ", 183 prompt); 184 (void) fgets(tmp, MAX_NEWT_COMMENT_LEN, stdin); 175 printf("---promptdialogOKC---1--- %s\n---promptdialogOKC---Q--- [OK] [Cancel] ---\n--> ", prompt); 176 mr_getline(tmp, stdin); 185 177 if (tmp[strlen(tmp) - 1] == '\n') 186 178 tmp[strlen(tmp) - 1] = '\0'; … … 191 183 } 192 184 if (strstr("okOKOkYESyes", tmp)) { 193 paranoid_free(tmp);185 mr_free(tmp); 194 186 return (TRUE); 195 187 } else { 196 paranoid_free(tmp);188 mr_free(tmp); 197 189 return (FALSE); 198 190 } 199 191 } else { 200 paranoid_free(tmp);201 192 return (popup_with_buttons(prompt, " Okay ", "Cancel")); 202 193 } … … 431 422 * @param grep_for_me If not "", then only give lines in @p filename that match this regular expression. 432 423 */ 433 void 434 log_file_end_to_screen(char *filename, char *grep_for_me) { 424 void log_file_end_to_screen(char *filename, char *grep_for_me) { 435 425 436 426 /*@ buffers ********************************************************** */ … … 462 452 for (err_log_lines[i][0] = '\0'; 463 453 strlen(err_log_lines[i]) < 2 && !feof(fin);) { 464 (void) fgets(err_log_lines[i], MAX_NEWT_COMMENT_LEN, 465 fin); 454 (void) fgets(err_log_lines[i], MAX_NEWT_COMMENT_LEN, fin); 466 455 /* Commented to make valgrind happy and avoid crash 467 456 strip_spaces(err_log_lines[i]); … … 787 776 788 777 /*@ buffers *********************************************************** */ 789 char *prompt ;778 char *prompt = NULL; 790 779 791 780 /*@ newt ************************************************************** */ … … 799 788 assert(button1 != NULL); 800 789 assert(button2 != NULL); 801 prompt = malloc(MAX_NEWT_COMMENT_LEN);802 790 if (g_text_mode) { 803 791 if (strlen(button2) == 0) { … … 806 794 printf("%s (%s or %s) --> ", p, button1, button2); 807 795 } 808 for (prompt[0] = '\0'; 809 strcmp(prompt, button1) && (strlen(button2) == 0 810 || strcmp(prompt, button2));) { 796 mr_getline(prompt, stdin); 797 while (strcmp(prompt, button1) && (strlen(button2) == 0 || strcmp(prompt, button2))) { 811 798 printf("--> "); 812 (void) fgets(prompt, MAX_NEWT_COMMENT_LEN, stdin); 799 mr_free(prompt); 800 mr_getline(prompt, stdin); 813 801 } 814 802 if (!strcmp(prompt, button1)) { 815 paranoid_free(prompt);803 mr_free(prompt); 816 804 return (TRUE); 817 805 } else { 818 paranoid_free(prompt);806 mr_free(prompt); 819 807 return (FALSE); 820 808 } 821 809 } 822 810 811 prompt = malloc(MAX_NEWT_COMMENT_LEN); 823 812 strncpy(prompt, p, MAX_NEWT_COMMENT_LEN - 1); 824 813 prompt[MAX_NEWT_COMMENT_LEN - 1] = '\0'; … … 1166 1155 { "none", "cdr", "cdrw", "dvd", "tape", "cdstream", "udev", 1167 1156 "nfs", "iso", NULL }; 1168 char *outstr ;1157 char *outstr = NULL; 1169 1158 t_bkptype backup_type; 1170 1159 int i; … … 1181 1170 newtComponent myForm; 1182 1171 1183 outstr = malloc(MAX_NEWT_COMMENT_LEN);1184 1172 if (g_text_mode) { 1185 1173 for (backup_type = none; backup_type == none;) { … … 1190 1178 } 1191 1179 printf(")\n--> "); 1192 (void) fgets(outstr, MAX_NEWT_COMMENT_LEN, stdin);1193 strip_spaces(outstr);1180 mr_getline(outstr, stdin); 1181 mr_strip_spaces(outstr); 1194 1182 for (i = 0; possible_responses[i]; i++) { 1195 1183 if (!strcmp(possible_responses[i], outstr)) { … … 1197 1185 } 1198 1186 } 1199 }1200 paranoid_free(outstr);1187 mr_free(outstr); 1188 } 1201 1189 return (backup_type); 1202 1190 } … … 1319 1307 int j = 0; 1320 1308 bool done; 1321 char *tmp ;1309 char *tmp = NULL; 1322 1310 char *tmp1 = NULL; 1323 1311 FILE *fin, *fout; … … 1338 1326 if (!(fout = fopen(tmp1, "a"))) { 1339 1327 log_msg(2, "Can't write to %s", tmp1); 1328 mr_free(tmp1); 1340 1329 return(1); 1341 1330 } 1342 1331 1343 malloc_string(tmp);1344 1332 log_msg(2, "Loading %s", source_file); 1345 for (filelist->entries = 0; filelist->entries <= ARBITRARY_MAXIMUM; 1346 filelist->entries++) { 1333 for (filelist->entries = 0; filelist->entries <= ARBITRARY_MAXIMUM; filelist->entries++) { 1347 1334 god_i_hate_gotos: 1335 if (tmp != NULL) { 1336 mr_free(tmp); 1337 } 1348 1338 if (feof(fin)) { 1349 1339 break; 1350 1340 } 1351 (void) fgets(tmp, MAX_NEWT_COMMENT_LEN, fin);1341 mr_getline(tmp, fin); 1352 1342 i = (int) strlen(tmp); 1353 1343 if (i < 2) { … … 1366 1356 goto god_i_hate_gotos; 1367 1357 } 1368 filelist->el[filelist->entries].severity = 1369 severity_of_difference(tmp, NULL); 1358 filelist->el[filelist->entries].severity = severity_of_difference(tmp, NULL); 1370 1359 strcpy(filelist->el[filelist->entries].filename, tmp); 1371 1360 if (feof(fin)) { … … 1373 1362 } 1374 1363 } 1364 mr_free(tmp); 1375 1365 paranoid_fclose(fin); 1376 1366 paranoid_fclose(fout); … … 1378 1368 log_to_screen("%d files listed in %s/changed.files have been deleted since backup was made\nand are referenced in %s", j, bkpinfo->tmpdir,tmp1); 1379 1369 } 1380 paranoid_free(tmp1);1370 mr_free(tmp1); 1381 1371 if (filelist->entries >= ARBITRARY_MAXIMUM) { 1382 1372 log_to_screen("Arbitrary limits suck, man!"); 1383 paranoid_free(tmp);1384 1373 return (1); 1385 1374 } … … 1409 1398 } 1410 1399 } 1411 paranoid_free(tmp);1412 1400 log_it("leaving"); 1413 1401 return (0);
Note:
See TracChangeset
for help on using the changeset viewer.