diff --git a/src/uifc/filepick.c b/src/uifc/filepick.c index 4187c6180291926df47a9e4b2bcfd4c470d81dde..419d15a2df94cc817f3f89bb9b6489359a2f2d2e 100644 --- a/src/uifc/filepick.c +++ b/src/uifc/filepick.c @@ -504,7 +504,7 @@ int filepick(uifcapi_t *api, char *title, struct file_pick *fp, char *dir, char sprintf(cfile,"%s%s%s%s",drive,tdir,fname,ext); if(strchr(fname,'*') !=NULL || strchr(fname,'?') !=NULL || strchr(ext,'*') !=NULL || strchr(ext,'?') !=NULL - || !isdir(cfile)) { + || (!isdir(cfile) && i!='\r' && i!='\n')) { if(opts & UIFC_FP_MSKNOCHG) { sprintf(cfile,"%s%s%s",drive,tdir,cmsk); FREE_AND_NULL(tmplastpath); @@ -517,6 +517,10 @@ int filepick(uifcapi_t *api, char *title, struct file_pick *fp, char *dir, char } break; } + else { + if((opts & UIFC_FP_MULTI)!=UIFC_FP_MULTI && (i=='\r' || i!='\n')) + fieldmove=0; + } if((currfield != CURRENT_PATH) || fieldmove) break; if(isdir(cfile)) {