Ticket #3235: escaped_star_isnt_wildcard.patch

File escaped_star_isnt_wildcard.patch, 644 bytes (added by boris, 5 years ago)
  • src/filemanager/filegui.c

    a b  
    612612static gboolean 
    613613is_wildcarded (char *p) 
    614614{ 
     615    int escaped = 0; 
    615616    for (; *p; p++) 
    616617    { 
    617         if (*p == '*') 
    618             return TRUE; 
    619         if (*p == '\\' && p[1] >= '1' && p[1] <= '9') 
    620             return TRUE; 
     618        if (*p == '\\') 
     619        { 
     620            if (p[1] >= '1' && p[1] <= '9' && !escaped) 
     621                    return TRUE; 
     622            escaped = !escaped; 
     623        } 
     624        else 
     625        { 
     626            if (*p == '*' && !escaped) 
     627                return TRUE; 
     628            escaped = 0; 
     629        } 
    621630    } 
    622631    return FALSE; 
    623632}