Samba-2.2.8pre2 compiler warnings

Nicholas Brealey nick at brealey.org
Sat Mar 1 14:47:48 GMT 2003


Hello

I just compiled Samba-2.2.8pre2 on 4 different systems:

1) Solaris 7 + cc: WorkShop Compilers 5.0 98/12/15 C 5.0
2) Solaris 9 + cc: WorkShop Compilers 5.0 98/12/15 C 5.0
3) Solaris 9 + cc: Forte Developer 7 C 5.4 2002/03/09
4) IRIX 6.5 + MIPSpro Compilers: Version 7.30

It compiled OK on all systems. I only ran it on 2) since the
other systems are 'production' systems. It seems to run OK.

There were a number of compiler warnings though.

Two of the warnings looks like they could be serious:


CLITAR
======

"client/clitar.c", line 688: warning: argument #4 is incompatible with prototype:
         prototype: pointer to uint : "include/proto.h", line 303
         argument : pointer to ullong

A 64 bit integer being used where a 32 bit integer is expected?
smbtar make not work on bigendian machines?
smbtar may not work for files over 2GB on little endian machines?


IRIX TDBUTIL
============

cc-1164 cc: WARNING File = tdb/tdbutil.c, Line = 46
   Argument of type "SIG_ATOMIC_T *" is incompatible with parameter of type
           "sig_atomic_t *".

         tdb_set_lock_alarm(&gotalarm);


A fuller list of warnings is:


On 1) I got the following

"rpc_parse/parse_spoolss.c", line 1209: warning: assignment type mismatch:
         pointer to uchar "=" pointer to char
"rpc_parse/parse_spoolss.c", line 6666: warning: assignment type mismatch:
         pointer to uchar "=" pointer to char

"passdb/secrets.c", line 291: warning: argument #2 is incompatible with prototype:
         prototype: pointer to char : "include/proto.h", line 5018
         argument : pointer to const char

"lib/util.c", line 62: warning: initializer does not fit or is out of range: -1

"tdb/tdbutil.c", line 46: warning: argument #1 is incompatible with prototype:
         prototype: pointer to int : "include/../tdb/tdb.h", line 130
         argument : pointer to volatile int

"smbd/quotas.c", line 404: warning: argument #2 is incompatible with prototype:
         prototype: pointer to int : "/usr/include/rpc/xdr.h", line 340
         argument : pointer to uint
"smbd/quotas.c", line 408: warning: argument #2 is incompatible with prototype:
         prototype: pointer to int : "/usr/include/rpc/xdr.h", line 340
         argument : pointer to uint
"smbd/quotas.c", line 412: warning: argument #2 is incompatible with prototype:
         prototype: pointer to int : "/usr/include/rpc/xdr.h", line 340
         argument : pointer to uint

"client/clitar.c", line 688: warning: argument #4 is incompatible with prototype:
         prototype: pointer to uint : "include/proto.h", line 303
         argument : pointer to ullong

Compiling tdb/tdbutil.c with -KPIC
"tdb/tdbutil.c", line 46: warning: argument #1 is incompatible with prototype:
         prototype: pointer to int : "include/../tdb/tdb.h", line 130
         argument : pointer to volatile int

Compiling nsswitch/winbind_nss.c with -KPIC
"nsswitch/winbind_nss.c", line 600: warning: argument #2 is incompatible with 
prototype:
         prototype: pointer to int : "nsswitch/winbind_nss.c", line 529
         argument : pointer to uint
(plus about 20 similar messages in nsswitch/winbind_nss.c).



On 2) I get the same warnings as 1).

On 3) I get the same as 1) and 2) with the following additions/changes:

Compiling passdb/pass_check.c
"passdb/pass_check.c", line 669: warning: implicit function declaration: crypt

Compiling client/clitar.c
"client/clitar.c", line 688: warning: argument #4 is incompatible with prototype:
         prototype: pointer to unsigned int : "include/proto.h", line 303
         argument : pointer to unsigned long long

Compiling smbwrapper/smbw.c with -KPIC
"smbwrapper/smbw.c", line 1413: warning: implicit function declaration: _fork
Compiling smbwrapper/smbw_dir.c with -KPIC
"smbwrapper/smbw_dir.c", line 570: warning: implicit function declaration: _getcwd

Compiling smbwrapper/wrapped.c with -KPIC
"smbwrapper/wrapped.c", line 39: warning: implicit function declaration: smbw_path
"smbwrapper/wrapped.c", line 40: warning: implicit function declaration: smbw_open
(plus lots of similar messages).


On 4) I there are lots of warnings but these are the most interesting ones:

Compiling smbd/password.c
cc-1164 cc: WARNING File = smbd/password.c, Line = 664
   Argument of type "const char *" is incompatible with parameter of type "char \
*"
           .

                 setnetgrent(group);
                             ^
Compiling smbd/reply.c
cc-1552 cc: WARNING File = smbd/reply.c, Line = 2575
   The variable "data" is set but never used.

         char *data;
               ^
  cc-1552 cc: WARNING File = rpc_server/srv_spoolss_nt.c, Line = 335
   The variable "i" is set but never used.

                 int i;

Compiling rpc_parse/parse_spoolss.c
cc-1515 cc: WARNING File = rpc_parse/parse_spoolss.c, Line = 1209
   A value of type "char *" cannot be assigned to an entity of type
           "unsigned char *".

                 r_u->data = prs_alloc_mem(ps, r_u->size);
                           ^

cc-1515 cc: WARNING File = rpc_parse/parse_spoolss.c, Line = 6666
   A value of type "char *" cannot be assigned to an entity of type
           "unsigned char *".

                 r_u->data = prs_alloc_mem(ps, r_u->size);
                           ^
  Compiling passdb/passdb.c
cc-1552 cc: WARNING File = passdb/passdb.c, Line = 879
   The variable "pwd" is set but never used.

         struct passwd  *pwd = NULL;
                         ^

Compiling passdb/secrets.c
cc-1164 cc: WARNING File = passdb/secrets.c, Line = 291
   Argument of type "const char *" is incompatible with parameter of type "char \
*"
           .

         ret = tdb_lock_bystring(tdb, name, timeout);
                                      ^

Compiling lib/kanji.c
cc-1188 cc: WARNING File = lib/kanji.c, Line = 117
   The indicated type qualifier is meaningless on cast type.

       if (is_shift_jis (*s1)) {
(repeated lots times).


cc-1552 cc: WARNING File = lib/util.c, Line = 1376
   The variable "n" is set but never used.

         int n;
             ^

cc-1164 cc: WARNING File = tdb/tdbutil.c, Line = 46
   Argument of type "SIG_ATOMIC_T *" is incompatible with parameter of type
           "sig_atomic_t *".

         tdb_set_lock_alarm(&gotalarm);

Compiling client/clitar.c
cc-1164 cc: WARNING File = client/clitar.c, Line = 688
   Argument of type "unsigned long long *" is incompatible with parameter of typ\
e
           "size_t *".

           if (!cli_getattrE(cli, fnum, &finfo.mode, &finfo.size, NULL, &finfo.a\
time, &finfo.mtime)) {

                 ^


Compiling nsswitch/winbindd_user.c
cc-1552 cc: WARNING File = nsswitch/winbindd_user.c, Line = 331
   The variable "status" is set but never used.

         NTSTATUS status;
                  ^
cc-1185 cc: WARNING File = nsswitch/winbindd_cache.c, Line = 653
   An enumerated type is mixed with another type.

         *type = centry_uint32(centry);
               ^
(repeated severla times).

Compiling nsswitch/winbindd_pam.c
cc-1552 cc: WARNING File = nsswitch/winbindd_pam.c, Line = 33
   The variable "passlen" is set but never used.

         int passlen;
             ^













More information about the samba-technical mailing list