Ignore:
Timestamp:
Aug 29, 2009, 3:22:10 AM (15 years ago)
Author:
Bruno Cornec
Message:
  • Some more fgets => mr_getline transformations
  • XWIN define is gone
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2.10/mondo/src/common/newt-specific.c

    r2340 r2357  
    124124        /*@ buffers ********************************************************** */
    125125        int i;
     126        char *tmp;
    126127
    127128         assert_string_is_neither_NULL_nor_zerolength(prompt);
    128129
    129130        if (g_text_mode) {
    130 
    131             char *tmp;
    132             tmp = malloc(MAX_NEWT_COMMENT_LEN);
    133 
    134131            while (1) {
    135132                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);
    140135                if (tmp[strlen(tmp) - 1] == '\n')
    141136                    tmp[strlen(tmp) - 1] = '\0';
     
    146141                }
    147142                if (strstr("yesYES", tmp)) {
    148                     paranoid_free(tmp);
     143                    mr_free(tmp);
    149144                    return (TRUE);
    150145                } else if (strstr("NOno", tmp)) {
    151                     paranoid_free(tmp);
     146                    mr_free(tmp);
    152147                    return (FALSE);
    153148                } else {
    154149                    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");
    157151                }
    158152            }
     
    172166
    173167        /*@ buffer *********************************************************** */
    174         char *tmp;
     168        char *tmp = NULL;
    175169        int i;
    176170
    177         tmp = malloc(MAX_NEWT_COMMENT_LEN);
    178171        assert_string_is_neither_NULL_nor_zerolength(prompt);
     172
    179173        if (g_text_mode) {
    180174            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);
    185177            if (tmp[strlen(tmp) - 1] == '\n')
    186178                tmp[strlen(tmp) - 1] = '\0';
     
    191183            }
    192184            if (strstr("okOKOkYESyes", tmp)) {
    193                 paranoid_free(tmp);
     185                mr_free(tmp);
    194186                return (TRUE);
    195187            } else {
    196                 paranoid_free(tmp);
     188                mr_free(tmp);
    197189                return (FALSE);
    198190            }
    199191        } else {
    200             paranoid_free(tmp);
    201192            return (popup_with_buttons(prompt, " Okay ", "Cancel"));
    202193        }
     
    431422 * @param grep_for_me If not "", then only give lines in @p filename that match this regular expression.
    432423 */
    433     void
    434      log_file_end_to_screen(char *filename, char *grep_for_me) {
     424void log_file_end_to_screen(char *filename, char *grep_for_me) {
    435425
    436426        /*@ buffers ********************************************************** */
     
    462452                for (err_log_lines[i][0] = '\0';
    463453                     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);
    466455                    /* Commented to make valgrind happy and avoid crash
    467456                    strip_spaces(err_log_lines[i]);
     
    787776
    788777        /*@ buffers *********************************************************** */
    789         char *prompt;
     778        char *prompt = NULL;
    790779
    791780        /*@ newt ************************************************************** */
     
    799788        assert(button1 != NULL);
    800789        assert(button2 != NULL);
    801         prompt = malloc(MAX_NEWT_COMMENT_LEN);
    802790        if (g_text_mode) {
    803791            if (strlen(button2) == 0) {
     
    806794                printf("%s (%s or %s) --> ", p, button1, button2);
    807795            }
    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))) {
    811798                printf("--> ");
    812                 (void) fgets(prompt, MAX_NEWT_COMMENT_LEN, stdin);
     799                mr_free(prompt);
     800                mr_getline(prompt, stdin);
    813801            }
    814802            if (!strcmp(prompt, button1)) {
    815                 paranoid_free(prompt);
     803                mr_free(prompt);
    816804                return (TRUE);
    817805            } else {
    818                 paranoid_free(prompt);
     806                mr_free(prompt);
    819807                return (FALSE);
    820808            }
    821809        }
    822810
     811        prompt = malloc(MAX_NEWT_COMMENT_LEN);
    823812        strncpy(prompt, p, MAX_NEWT_COMMENT_LEN - 1);
    824813        prompt[MAX_NEWT_COMMENT_LEN - 1] = '\0';
     
    11661155            { "none", "cdr", "cdrw", "dvd", "tape", "cdstream", "udev",
    11671156"nfs", "iso", NULL };
    1168         char *outstr;
     1157        char *outstr = NULL;
    11691158        t_bkptype backup_type;
    11701159        int i;
     
    11811170        newtComponent myForm;
    11821171
    1183         outstr = malloc(MAX_NEWT_COMMENT_LEN);
    11841172        if (g_text_mode) {
    11851173            for (backup_type = none; backup_type == none;) {
     
    11901178                }
    11911179                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);
    11941182                for (i = 0; possible_responses[i]; i++) {
    11951183                    if (!strcmp(possible_responses[i], outstr)) {
     
    11971185                    }
    11981186                }
    1199             }
    1200             paranoid_free(outstr);
     1187                mr_free(outstr);
     1188            }
    12011189            return (backup_type);
    12021190        }
     
    13191307        int j = 0;
    13201308        bool done;
    1321         char *tmp;
     1309        char *tmp = NULL;
    13221310        char *tmp1 = NULL;
    13231311        FILE *fin, *fout;
     
    13381326        if (!(fout = fopen(tmp1, "a"))) {
    13391327            log_msg(2, "Can't write to %s", tmp1);
     1328            mr_free(tmp1);
    13401329            return(1);
    13411330            }
    13421331
    1343         malloc_string(tmp);
    13441332        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++) {
    13471334          god_i_hate_gotos:
     1335            if (tmp != NULL) {
     1336                mr_free(tmp);
     1337            }
    13481338            if (feof(fin)) {
    13491339                break;
    13501340            }
    1351             (void) fgets(tmp, MAX_NEWT_COMMENT_LEN, fin);
     1341            mr_getline(tmp, fin);
    13521342            i = (int) strlen(tmp);
    13531343            if (i < 2) {
     
    13661356                goto god_i_hate_gotos;
    13671357            }
    1368             filelist->el[filelist->entries].severity =
    1369                 severity_of_difference(tmp, NULL);
     1358            filelist->el[filelist->entries].severity = severity_of_difference(tmp, NULL);
    13701359            strcpy(filelist->el[filelist->entries].filename, tmp);
    13711360            if (feof(fin)) {
     
    13731362            }
    13741363        }
     1364        mr_free(tmp);
    13751365        paranoid_fclose(fin);
    13761366        paranoid_fclose(fout);
     
    13781368            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);
    13791369        }
    1380         paranoid_free(tmp1);
     1370        mr_free(tmp1);
    13811371        if (filelist->entries >= ARBITRARY_MAXIMUM) {
    13821372            log_to_screen("Arbitrary limits suck, man!");
    1383             paranoid_free(tmp);
    13841373            return (1);
    13851374        }
     
    14091398            }
    14101399        }
    1411         paranoid_free(tmp);
    14121400        log_it("leaving");
    14131401        return (0);
Note: See TracChangeset for help on using the changeset viewer.