Index: class.c ================================================================== --- class.c +++ class.c @@ -2111,11 +2111,11 @@ Hash*glolocalhash; char*nam=sqlite3_mprintf("%s.class",basefilename); sqlite3_stmt*vst=0; fprintf(stderr,"Loading class definitions...\n"); if(!nam) fatal("Allocation failed\n"); - classfp=main_options['z']?composite_slice("class",1):fopen(nam,"r"); + classfp=main_options['z']?composite_slice(".class",1):fopen(nam,"r"); sqlite3_free(nam); if(!classfp) fatal("Cannot open class file '%s': %m\n",nam); glohash=calloc(HASH_SIZE,sizeof(Hash)); if(!glohash) fatal("Allocation failed\n"); glolocalhash=calloc(LOCAL_HASH_SIZE,sizeof(Hash)); Index: main.c ================================================================== --- main.c +++ main.c @@ -106,19 +106,20 @@ int c,n; sqlite3_int64 t; rewind(compositefp); look: n=0; - if(*suffix>'Z') for(;;) { + if(*suffix=='.') for(;;) { c=fgetc(compositefp); if(c==EOF) goto notfound; if(!c) goto skip; - if(c=='.') break; + if(c=='.') goto name; } for(;;) { c=fgetc(compositefp); if(c==EOF) goto notfound; + name: if(!c) { if(suffix[n]) goto skip; else goto found; } if(c==suffix[n]) { n++; @@ -558,12 +559,12 @@ if(z=sqlite3_exec(userdb,"BEGIN;",0,0,0)) fatal("SQL error (%d): %s\n",z,sqlite3_errmsg(userdb)); if(z=sqlite3_prepare_v2(userdb,"SELECT `ID`, `TIME` FROM `USERCACHEINDEX` WHERE `NAME` = CHAR(?2)||'//'||?1;",-1,&st,0)) fatal("SQL error (%d): %s\n",z,sqlite3_errmsg(userdb)); basefilename=realpath(basefilename,0); if(!basefilename) fatal("Cannot find real path of puzzle set: %m\n"); sqlite3_bind_text(st,1,basefilename,-1,0); - levelfp=composite_slice("level",1); - solutionfp=composite_slice("solution",1); + levelfp=composite_slice(".level",1); + solutionfp=composite_slice(".solution",1); sqlite3_bind_int(st,2,'L'); z=sqlite3_step(st); if(z==SQLITE_ROW) { leveluc=sqlite3_column_int64(st,0); t1=sqlite3_column_int64(st,1); Index: picture.c ================================================================== --- picture.c +++ picture.c @@ -667,11 +667,11 @@ char*nam=sqlite3_mprintf("%s.xclass",basefilename); const char*v; int i,j,n; if(!nam) fatal("Allocation failed\n"); fprintf(stderr,"Loading pictures...\n"); - fp=main_options['z']?composite_slice("xclass",1):fopen(nam,"r"); + fp=main_options['z']?composite_slice(".xclass",1):fopen(nam,"r"); if(!fp) fatal("Failed to open xclass file (%m)\n"); sqlite3_free(nam); optionquery[1]=Q_altImage; altImage=strtol(xrm_get_resource(resourcedb,optionquery,optionquery,2)?:"0",0,10); optionquery[1]=Q_imageSize;