Re: [netatalk-admins] Mac OS 8 Fix...


Subject: Re: [netatalk-admins] Mac OS 8 Fix...
From: wesley.craig@umich.edu
Date: Mon Aug 25 1997 - 20:03:52 EDT


> From: Ben Payne <bpayne@cs.ucr.edu>
> To: netatalk-admins@umich.edu

> My question is, is there a fix to the problem of "dancing icon" with OS 8
> clients. I'm currently running 1.3.3, does 1.4b2 not have this problem?
> Is there a patch to fix it, or is there a configuration you can change.

The attached patch to netatalk-1.4b2 fixes the "dancing icon" problem.

:wes

*** etc/afpd/fork.c- 1997/08/17 00:01:46
--- etc/afpd/fork.c 1997/08/23 16:37:46
***************
*** 710,724 ****
              break;
  
          case FILPBIT_FINFO :
! if ( !isad || bcmp( ad_entry( &ofork->of_ad, ADEID_FINDERI ),
! ufinderi, 8 ) == 0 ) {
                  bcopy( ufinderi, data, 32 );
- if (( em = getextmap( ofork->of_name )) != NULL ) {
- bcopy( em->em_type, data, sizeof( em->em_type ));
- bcopy( em->em_creator, data + 4, sizeof( em->em_creator ));
- }
              } else {
                  bcopy( ad_entry( &ofork->of_ad, ADEID_FINDERI ), data, 32 );
              }
              data += 32;
              break;
--- 718,732 ----
              break;
  
          case FILPBIT_FINFO :
! if ( !isad ) {
                  bcopy( ufinderi, data, 32 );
              } else {
                  bcopy( ad_entry( &ofork->of_ad, ADEID_FINDERI ), data, 32 );
+ }
+ if ( bcmp( data, ufinderi, 8 ) == 0 &&
+ ( em = getextmap( ofork->of_name )) != NULL ) {
+ bcopy( em->em_type, data, sizeof( em->em_type ));
+ bcopy( em->em_creator, data + 4, sizeof( em->em_creator ));
              }
              data += 32;
              break;
*** etc/afpd/file.c- 1997/08/17 00:01:46
--- etc/afpd/file.c 1997/08/20 22:39:08
***************
*** 125,139 ****
              break;
  
          case FILPBIT_FINFO :
! if ( !isad ||
! bcmp( ad_entry( &ad, ADEID_FINDERI ), ufinderi, 8 ) == 0 ) {
                  bcopy( ufinderi, data, 32 );
- if (( em = getextmap( path )) != NULL ) {
- bcopy( em->em_type, data, sizeof( em->em_type ));
- bcopy( em->em_creator, data + 4, sizeof( em->em_creator ));
- }
              } else {
                  bcopy( ad_entry( &ad, ADEID_FINDERI ), data, 32 );
              }
              data += 32;
              break;
--- 125,139 ----
              break;
  
          case FILPBIT_FINFO :
! if ( !isad ) {
                  bcopy( ufinderi, data, 32 );
              } else {
                  bcopy( ad_entry( &ad, ADEID_FINDERI ), data, 32 );
+ }
+ if ( bcmp( data, ufinderi, 8 ) == 0 &&
+ ( em = getextmap( path )) != NULL ) {
+ bcopy( em->em_type, data, sizeof( em->em_type ));
+ bcopy( em->em_creator, data + 4, sizeof( em->em_creator ));
              }
              data += 32;
              break;



This archive was generated by hypermail 2b28 : Sat Dec 18 1999 - 16:26:18 EST