- mapdir = strrchr( mapname, '/' );
- if ( mapdir ) {
- mapdir -= 12;
- if ( strncmp( mapdir, ".dpkdir/maps/", 13 ) == 0 ) {
- *mapdir = '\0';
- mapdir = strrchr( mapname, '/' );
- if ( mapdir ) mapdir++;
- else mapdir = mapname;
- result = string_clone( mapdir );
+ char pattern[] = ".dpkdir/";
+ char* end = strstr( mapname, ".dpkdir/" );
+ if ( end )
+ {
+ end[ 0 ] = '\0';
+
+ mapdir = strrchr( mapname, '/' );
+ if ( mapdir )
+ {
+ mapdir++;
+ }
+ else
+ {
+ mapdir = mapname;