_c64_fs_dirbuftrack = 0;
c64_fs_open(const char *name, register struct c64_fs_file *f){  /* First check if we already have the file cached. If so, we don't     need to do an expensive directory lookup. */  if(strncmp(lastdirent.name, name, 16) == 0) {    f->track = lastdirent.track;    f->sect = lastdirent.sect;    f->ptr = 2;    return 0;  }  /* Not in cache, so we walk through directory instead. */  c64_fs_opendir(&opendir);  while(c64_fs_readdir(&opendir, &opendirent) == 0) {    if(strncmp(opendirent.name, name, 16) == 0) {      f->track = opendirent.track;      f->sect = opendirent.sect;      f->ptr = 2;      return 0;    }  }  return -1;}