Coda File System

Error compiling Coda - fsobj::LocalSetAttr definition

From: Samir Patel <coda_at_allenport.com>
Date: Mon, 16 May 2005 15:38:16 -0400
Hello all,

I was just trying to compile Coda from source using the latest release 
version (6.0.10) when I ran into the following:

fso_cfscalls0.cc:1474: error: prototype for `void fsobj::LocalSetAttr(long
   unsigned int, long unsigned int, long unsigned int, unsigned int, short
   unsigned int)' does not match any in class `fsobj'
fso.h:600: error: candidate is: void fsobj::LocalSetAttr(long unsigned int,
   long unsigned int, long unsigned int, long unsigned int, short 
unsigned int)

Looks like the definition of LocalSetAttr isn't right somewhere.  
Looking at the source, this is what I see:

from fso.h:
    void LocalSetAttr(Date_t, unsigned long, Date_t,
               uid_t, unsigned short);

and from fso_cfscalls0.cc:
    void fsobj::LocalSetAttr(Date_t Mtime, unsigned long NewLength,
                             Date_t NewDate, cuid_t NewOwner,
                             unsigned short NewMode)

Looks like the uid_t is an unsigned int, while the cuid_t is a long 
unsigned int.

Looking through CVS, I noticed that the definition in cfs_cfscalls0.cc 
was changed from uid_t to cuid_t in version 4.90 and labeled "cleanups 
from Troy Benjegerdes".  So I presume the header file also needs changing.

Everything appears to compile fine with this change.

Samir
Received on 2005-05-16 15:39:22