- range = strrchr( frag, '/' ); // last '/'
- p->filename = range? strndup( frag, range - frag ) : frag;
+ // First try the fragment in full, thereafter with range appendix
+ if ( stat( frag, &filestat ) == 0 ) {
+ p->filename = strdup( frag );
+ range = 0;
+ } else {
+ range = strrchr( frag, '/' ); // last '/'
+ p->filename = range? strndup( frag, range - frag ) : frag;
+ }