Changeset 2413


Ignore:
Timestamp:
Sep 20, 2009, 2:44:23 AM (10 years ago)
Author:
bruno
Message:
  • Remove function turn_wildcard_chars_into_literal_chars and replace it with a call to mr_stresc more generic
Location:
branches/2.2.10/mondo/src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2.10/mondo/src/common/libmondo-filelist.c

    r2405 r2413  
    17611761    FILE *fin;
    17621762    FILE *fout;
    1763     char *fname;
    1764     char *tmp;
    1765     size_t len = 0;
    1766 
    1767     malloc_string(fname);
    1768     malloc_string(tmp);
     1763    char *fname = NULL;
     1764    char *tmp = NULL;
     1765
    17691766    log_msg(5, "starting");
    17701767    log_msg(5, "needles_list_fname = %s", needles_list_fname);
     
    17771774    }
    17781775    while (!feof(fin)) {
    1779 //      fscanf(fin, "%s\n", fname);
    1780         len = MAX_STR_LEN - 1;
    1781         (void)getline(&fname, &len, fin);   // patch by Scrub
     1776        mr_getline(fname, fin);
    17821777        if (!use_star) {
    17831778            if (fname[0] == '/') {
    1784                 strcpy(tmp, fname);
     1779                mr_asprintf(tmp, "%s", fname);
    17851780            } else {
    1786                 tmp[0] = '/';
    1787                 strcpy(tmp + 1, fname);
     1781                mr_asprintf(tmp, "/%s", fname);
    17881782            }
    1789             strcpy(fname, tmp);
     1783            mr_free(fname);
     1784            fname = tmp;
    17901785        }
    17911786        while (strlen(fname) > 0 && fname[strlen(fname) - 1] < 32) {
     
    17981793            if (found_node->selected) {
    17991794                if (fname[0] == '/') {
    1800                     strcpy(tmp, fname + 1);
    1801                     strcpy(fname, tmp);
     1795                    mr_asprintf(tmp, "%s", fname + 1);
     1796                    mr_free(fname)
     1797                    fname = tmp;
    18021798                }
    18031799                log_msg(5, "Found '%s'", fname);
    1804                 turn_wildcard_chars_into_literal_chars(tmp, fname);
    1805                 fprintf(fout, "%s\n", tmp);
     1800                tmp = mr_stresc(fname, "[]*?", '\\');
     1801                mr_free(fname);
     1802                fname = tmp;
     1803                fprintf(fout, "%s\n", fname);
    18061804                retval++;
    18071805            }
    18081806        }
     1807        mr_free(fname);
    18091808    }
    18101809    paranoid_fclose(fout);
    18111810    paranoid_fclose(fin);
    1812     paranoid_free(fname);
    1813     paranoid_free(tmp);
    18141811    return (retval);
    18151812}
    1816 
    1817 
    1818 
    18191813
    18201814
  • branches/2.2.10/mondo/src/common/libmondo-string-EXT.h

    r2356 r2413  
    3535
    3636extern char *media_descriptor_string(t_bkptype);
    37 
    38 extern inline void turn_wildcard_chars_into_literal_chars(char *out,
    39                                                           char *in);
  • branches/2.2.10/mondo/src/common/libmondo-string.c

    r2405 r2413  
    103103    in_out[i] = '\0';
    104104}
    105 
    106 
    107 
    108 
    109 inline void turn_wildcard_chars_into_literal_chars(char *sout, char *sin)
    110 {
    111     char *p, *q;
    112 
    113     for (p = sin, q = sout; *p != '\0'; *(q++) = *(p++)) {
    114         if (strchr("[]*?", *p)) {
    115             *(q++) = '\\';
    116         }
    117     }
    118     *q = *p;                    // for the final '\0'
    119 }
    120 
    121105
    122106
  • branches/2.2.10/mondo/src/common/libmondo-string.h

    r2356 r2413  
    3030char *percent_media_full_comment();
    3131char *media_descriptor_string(t_bkptype);
    32 inline void turn_wildcard_chars_into_literal_chars(char *out, char *in);
  • branches/2.2.10/mondo/src/mondoarchive/mondoarchive.c

    r2340 r2413  
    238238    if (argc == 3 && !strcmp(argv[1], "wildcards")) {
    239239        g_loglevel = 10;
    240         malloc_string(tmp);
    241         turn_wildcard_chars_into_literal_chars(tmp, argv[2]);
     240        tmp = mr_stresc(argv[2], "[]*?", '\\');
    242241        printf("in=%s; out=%s\n", argv[2], tmp);
    243         paranoid_free(tmp);
     242        mr_free(tmp);
    244243        finish(1);
    245244    }
Note: See TracChangeset for help on using the changeset viewer.