[OpenAFS-devel] ubik_client warnings.

Jeffrey Hutzelman jhutz@cmu.edu
Thu, 24 Aug 2006 15:47:40 -0400


On Thursday, August 24, 2006 11:26:29 AM -0400 Derek Atkins 
<warlord@MIT.EDU> wrote:

> Jim Rees <rees@umich.edu> writes:
>
> [snip]
>> @@ -478,6 +478,7 @@
>>      f_print(fout, "#ifndef	SOCK_DGRAM  /* XXXXX */\n");
>>      f_print(fout, "#include \"h/socket.h\"\n");
>>      f_print(fout, "#endif\n");
>> +    f_print(fout, "struct ubik_client;\n");
>>      f_print(fout, "#ifndef	DTYPE_SOCKET  /* XXXXX */\n");
>>      f_print(fout, "#ifndef AFS_LINUX22_ENV\n");
>>      f_print(fout, "#include \"h/file.h\"\n");
>
> I think this patch is 100% safe, and I don't see anything wrong with
> it, except for the fact that it might be "nicer" if we #included
> the proper file.   But I'm not a gatekeeper, so what I say means
> very little.

That patch is fine.  It gets a declaration into global scope, which will 
make the warning go away and allow pointers to that type to be declared. 
It doesn't provide a definition, which means it won't interfere with the 
real definition if that happens to be visible (regardless of the order in 
which they occur), and won't mask problems with things that attempt to 
allocate storage for or access members of variables of that type without 
having the real definition in scope.

-- Jeff