From: Christos Zoulas Date: Mon, 26 Oct 2009 17:27:43 +0000 (-0400) Subject: * Fix issue with autoconf-2.63 X-Git-Tag: am-utils-6_2_rc1~20 X-Git-Url: https://git.fsl.cs.stonybrook.edu/?a=commitdiff_plain;h=e6301006ef97d31745f9ffbb17c58cb39d18c6aa;p=am-utils-6.2.git * Fix issue with autoconf-2.63 * Fix warnings for gcc-4.4 --- diff --git a/ChangeLog b/ChangeLog index 43ff96e2..3dc67728 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2009-10-26 Christos Zoulas + + * Fix issue with autoconf 2.63 + + * Fix compile warnings for gcc-4.4.x + 2009-04-15 Christos Zoulas * Share the LDAP connection between different maps to save resources diff --git a/amd/amfs_program.c b/amd/amfs_program.c index 7d332f00..8b6f2bda 100644 --- a/amd/amfs_program.c +++ b/amd/amfs_program.c @@ -147,10 +147,12 @@ amfs_program_exec(char *info) (void) fclose(stdout); if (!logfp) logfp = stderr; /* initialize before possible first use */ - (void) dup(fileno(logfp)); + if (dup(fileno(logfp)) == -1) + return errno; if (fileno(logfp) != fileno(stderr)) { (void) fclose(stderr); - (void) dup(fileno(logfp)); + if (dup(fileno(logfp)) == -1) + return errno; } /* diff --git a/amd/conf_tok.l b/amd/conf_tok.l index a5fa0483..d6f25e7d 100644 --- a/amd/conf_tok.l +++ b/amd/conf_tok.l @@ -74,7 +74,7 @@ */ #ifdef FLEX_SCANNER # ifndef ECHO -# define ECHO (void) fwrite( yytext, yyleng, 1, yyout ) +# define ECHO __IGNORE(fwrite( yytext, yyleng, 1, yyout )) # endif /* not ECHO */ #endif /* FLEX_SCANNER */ diff --git a/amd/ops_tmpfs.c b/amd/ops_tmpfs.c index fa645443..7c8da58e 100644 --- a/amd/ops_tmpfs.c +++ b/amd/ops_tmpfs.c @@ -109,6 +109,7 @@ mount_tmpfs(char *mntdir, char *fs_name, char *opts, int on_autofs) mntent_t mnt; int flags; const char *p; + (void)&p; /* * Figure out the name of the file system type. diff --git a/amd/readdir.c b/amd/readdir.c index fb8e5463..b43a3891 100644 --- a/amd/readdir.c +++ b/amd/readdir.c @@ -63,6 +63,7 @@ static int key_already_in_chain(char *keyname, const nfsentry *chain); static nfsentry *make_entry_chain(am_node *mp, const nfsentry *current_chain, int fully_browsable); static int amfs_readdir_browsable(am_node *mp, nfscookie cookie, nfsdirlist *dp, nfsentry *ep, u_int count, int fully_browsable); +static const u_int dotdotcookie = DOT_DOT_COOKIE; /**************************************************************************** *** FUNCTIONS *** @@ -178,8 +179,9 @@ make_entry_chain(am_node *mp, const nfsentry *current_chain, int fully_browsable /* we have space. put entry in next cell */ ++last_cookie; - chain[num_entries].ne_fileid = (u_int) last_cookie; - *(u_int *) chain[num_entries].ne_cookie = (u_int) last_cookie; + chain[num_entries].ne_fileid = last_cookie; + (void)memcpy(chain[num_entries].ne_cookie, &last_cookie, + sizeof(last_cookie)); chain[num_entries].ne_name = key; if (num_entries < max_entries - 1) { /* link to next one */ chain[num_entries].ne_nextentry = &chain[num_entries + 1]; @@ -253,7 +255,7 @@ amfs_readdir_browsable(am_node *mp, nfscookie cookie, nfsdirlist *dp, nfsentry * ep[0].ne_fileid = mp->am_gen; ep[0].ne_name = "."; ep[0].ne_nextentry = &ep[1]; - *(u_int *) ep[0].ne_cookie = 0; + (void)memset(ep[0].ne_cookie, 0, sizeof(u_int)); /* construct ".." */ if (mp->am_parent) @@ -263,7 +265,7 @@ amfs_readdir_browsable(am_node *mp, nfscookie cookie, nfsdirlist *dp, nfsentry * ep[1].ne_name = ".."; ep[1].ne_nextentry = NULL; - *(u_int *) ep[1].ne_cookie = DOT_DOT_COOKIE; + (void)memcpy(ep[1].ne_cookie, &dotdotcookie, sizeof(dotdotcookie)); /* * If map is browsable, call a function make_entry_chain() to construct @@ -300,9 +302,12 @@ amfs_readdir_browsable(am_node *mp, nfscookie cookie, nfsdirlist *dp, nfsentry * nfsentry *ne; for (j = 0, ne = te; ne; ne = ne->ne_nextentry) plog(XLOG_DEBUG, "gen2 key %4d \"%s\"", j++, ne->ne_name); - for (j = 0, ne = ep; ne; ne = ne->ne_nextentry) + for (j = 0, ne = ep; ne; ne = ne->ne_nextentry) { + u_int cookie; + (void)memcpy(&cookie, ne->ne_cookie, sizeof(cookie)); plog(XLOG_DEBUG, "gen2+ key %4d \"%s\" fi=%d ck=%d", - j++, ne->ne_name, ne->ne_fileid, *(u_int *)ne->ne_cookie); + j++, ne->ne_name, ne->ne_fileid, cookie); + } plog(XLOG_DEBUG, "EOF is %d", dp->dl_eof); } return 0; @@ -412,7 +417,7 @@ amfs_generic_readdir(am_node *mp, nfscookie cookie, nfsdirlist *dp, nfsentry *ep ep[0].ne_fileid = mp->am_gen; ep[0].ne_name = "."; ep[0].ne_nextentry = &ep[1]; - *(u_int *) ep[0].ne_cookie = 0; + (void)memset(ep[0].ne_cookie, 0, sizeof(u_int)); /* construct ".." */ if (mp->am_parent) @@ -421,7 +426,8 @@ amfs_generic_readdir(am_node *mp, nfscookie cookie, nfsdirlist *dp, nfsentry *ep ep[1].ne_fileid = mp->am_gen; ep[1].ne_name = ".."; ep[1].ne_nextentry = NULL; - *(u_int *) ep[1].ne_cookie = (xp ? xp->am_gen : DOT_DOT_COOKIE); + (void)memcpy(ep[1].ne_cookie, (xp ? &xp->am_gen : &dotdotcookie), + sizeof(dotdotcookie)); if (!xp) dp->dl_eof = TRUE; /* by default assume readdir done */ @@ -429,9 +435,12 @@ amfs_generic_readdir(am_node *mp, nfscookie cookie, nfsdirlist *dp, nfsentry *ep if (amuDebug(D_READDIR)) { nfsentry *ne; int j; - for (j = 0, ne = ep; ne; ne = ne->ne_nextentry) + for (j = 0, ne = ep; ne; ne = ne->ne_nextentry) { + u_int cookie; + (void)memcpy(&cookie, ne->ne_cookie, sizeof(cookie)); plog(XLOG_DEBUG, "gen1 key %4d \"%s\" fi=%d ck=%d", - j++, ne->ne_name, ne->ne_fileid, *(u_int *)ne->ne_cookie); + j++, ne->ne_name, ne->ne_fileid, cookie); + } } return 0; } @@ -460,9 +469,9 @@ amfs_generic_readdir(am_node *mp, nfscookie cookie, nfsdirlist *dp, nfsentry *ep am_node *xp_next = next_nonerror_node(xp->am_osib); if (xp_next) { - *(u_int *) ep->ne_cookie = xp_next->am_gen; + (void)memcpy(ep->ne_cookie, &xp_next->am_gen, sizeof(xp_next->am_gen)); } else { - *(u_int *) ep->ne_cookie = DOT_DOT_COOKIE; + (void)memcpy(ep->ne_cookie, &dotdotcookie, sizeof(dotdotcookie)); dp->dl_eof = TRUE; } @@ -488,9 +497,12 @@ amfs_generic_readdir(am_node *mp, nfscookie cookie, nfsdirlist *dp, nfsentry *ep if (amuDebug(D_READDIR)) { nfsentry *ne; int j; - for (j=0,ne=ep; ne; ne=ne->ne_nextentry) + for (j=0,ne=ep; ne; ne=ne->ne_nextentry) { + u_int cookie; + (void)memcpy(&cookie, ne->ne_cookie, sizeof(cookie)); plog(XLOG_DEBUG, "gen2 key %4d \"%s\" fi=%d ck=%d", - j++, ne->ne_name, ne->ne_fileid, *(u_int *)ne->ne_cookie); + j++, ne->ne_name, ne->ne_fileid, cookie); + } } return 0; } diff --git a/amd/sun_map_tok.l b/amd/sun_map_tok.l index c8e92581..ff3fab48 100644 --- a/amd/sun_map_tok.l +++ b/amd/sun_map_tok.l @@ -71,7 +71,7 @@ */ #ifdef FLEX_SCANNER # ifndef ECHO -# define ECHO (void) fwrite( yytext, yyleng, 1, yyout ) +# define ECHO __IGNORE(fwrite( yytext, yyleng, 1, yyout )) # endif /* not ECHO */ #endif /* FLEX_SCANNER */ diff --git a/configure.in b/configure.in index fc1e40cf..8911bc8d 100644 --- a/configure.in +++ b/configure.in @@ -895,6 +895,7 @@ dnl ###################################################################### dnl SYSTEM SERVICES AC_MSG_NOTICE(*** SYSTEM SERVICES ***) AC_SYS_LONG_FILE_NAMES +AC_SYS_LARGEFILE AC_SYS_RESTARTABLE_SYSCALLS AMU_CHECK_NETWORK_TRANSPORT_TYPE dnl ====================================================================== diff --git a/fsinfo/fsi_lex.l b/fsinfo/fsi_lex.l index 0f9a3862..c296ac21 100644 --- a/fsinfo/fsi_lex.l +++ b/fsinfo/fsi_lex.l @@ -102,7 +102,7 @@ static int ayylineno; */ #ifdef FLEX_SCANNER # ifndef ECHO -# define ECHO (void) fwrite( yytext, yyleng, 1, yyout ) +# define ECHO __IGNORE(fwrite( yytext, yyleng, 1, yyout )) # endif /* not ECHO */ #endif /* FLEX_SCANNER */ diff --git a/hlfsd/homedir.c b/hlfsd/homedir.c index f2073658..00423f40 100644 --- a/hlfsd/homedir.c +++ b/hlfsd/homedir.c @@ -494,9 +494,10 @@ readent: /* read records */ buf[0] = '\0'; - fgets(buf, 256, passwd_fp); + if (fgets(buf, 256, passwd_fp) == NULL) + return NULL; passwd_line++; - if (!buf || buf[0] == '\0') + if (buf[0] == '\0') goto readent; /* read user name */ diff --git a/hlfsd/stubs.c b/hlfsd/stubs.c index 8dcbf38e..accc04ac 100644 --- a/hlfsd/stubs.c +++ b/hlfsd/stubs.c @@ -164,8 +164,7 @@ nfsproc_getattr_2_svc(am_nfs_fh *argp, struct svc_req *rqstp) if (gid != hlfs_gid) { res.ns_status = NFSERR_STALE; } else { - memset((char *) &uid, 0, sizeof(int)); - uid = *(u_int *) argp->fh_data; + (void)memcpy(&uid, argp->fh_data, sizeof(uid)); if (plt_search(uid) != (uid2home_t *) NULL) { res.ns_status = NFS_OK; un_fattr.na_fileid = uid; @@ -282,8 +281,8 @@ nfsproc_lookup_2_svc(nfsdiropargs *argp, struct svc_req *rqstp) } else { /* entry found and gid is permitted */ un_fattr.na_fileid = untab[idx].uid; res.dr_u.dr_drok_u.drok_attributes = un_fattr; - memset((char *) &un_fhandle, 0, sizeof(am_nfs_fh)); - *(u_int *) un_fhandle.fh_data = (u_int) untab[idx].uid; + memset(&un_fhandle, 0, sizeof(un_fhandle)); + memcpy(un_fhandle.fh_data, &untab[idx].uid, sizeof(untab[idx].uid)); xstrlcpy((char *) &un_fhandle.fh_data[sizeof(int)], untab[idx].username, sizeof(am_nfs_fh) - sizeof(int)); @@ -338,8 +337,7 @@ nfsproc_readlink_2_svc(am_nfs_fh *argp, struct svc_req *rqstp) } if (groupid == hlfs_gid) { - memset((char *) &userid, 0, sizeof(int)); - userid = *(u_int *) argp->fh_data; + memcpy(&userid, argp->fh_data, sizeof(userid)); username = (char *) &argp->fh_data[sizeof(int)]; if (!(res.rlr_u.rlr_data_u = mailbox(userid, username))) return (nfsreadlinkres *) NULL; diff --git a/include/am_defs.h b/include/am_defs.h index 9e0d9846..a74d0609 100644 --- a/include/am_defs.h +++ b/include/am_defs.h @@ -49,8 +49,6 @@ #ifndef _AM_DEFS_H #define _AM_DEFS_H -#define _LARGEFILE64_SOURCE - /* * Actions to take if ANSI C. */ @@ -88,6 +86,14 @@ char *strchr(), *strrchr(), *strdup(); # endif /* __GNUC__ < 2 ... */ #endif /* not __attribute__ */ +#define __IGNORE(result) \ + __ignore((unsigned long)result) + +static __inline void +__ignore(unsigned long result) { + (void)&result; +} + /* * How to handle signals of any type */ diff --git a/libamu/xutil.c b/libamu/xutil.c index 3c643f5a..16b93b4a 100644 --- a/libamu/xutil.c +++ b/libamu/xutil.c @@ -524,7 +524,7 @@ real_plog(int lvl, const char *fmt, va_list vargs) fprintf(stderr, "real_plog: string \"%s\" truncated to \"%s\"\n", last_msg, msg); last_lvl = lvl; show_time_host_and_name(lvl); /* mimic syslog header */ - fwrite(msg, ptr - msg, 1, logfp); + __IGNORE(fwrite(msg, ptr - msg, 1, logfp)); fflush(logfp); break; @@ -537,7 +537,7 @@ real_plog(int lvl, const char *fmt, va_list vargs) fprintf(stderr, "real_plog: string \"%s\" truncated to \"%s\"\n", last_msg, msg); last_lvl = lvl; show_time_host_and_name(lvl); /* mimic syslog header */ - fwrite(msg, ptr - msg, 1, logfp); + __IGNORE(fwrite(msg, ptr - msg, 1, logfp)); fflush(logfp); } break; @@ -550,7 +550,7 @@ real_plog(int lvl, const char *fmt, va_list vargs) show_time_host_and_name(last_lvl); xsnprintf(last_msg, sizeof(last_msg), "last message repeated %d times\n", last_count); - fwrite(last_msg, strlen(last_msg), 1, logfp); + __IGNORE(fwrite(last_msg, strlen(last_msg), 1, logfp)); fflush(logfp); last_count = 0; /* start from scratch */ break; @@ -562,13 +562,13 @@ real_plog(int lvl, const char *fmt, va_list vargs) show_time_host_and_name(last_lvl); xsnprintf(last_msg, sizeof(last_msg), "last message repeated %d times\n", last_count); - fwrite(last_msg, strlen(last_msg), 1, logfp); + __IGNORE(fwrite(last_msg, strlen(last_msg), 1, logfp)); if (strlcpy(last_msg, msg, 1024) >= 1024) /* don't use xstrlcpy here (recursive!) */ fprintf(stderr, "real_plog: string \"%s\" truncated to \"%s\"\n", last_msg, msg); last_count = 1; last_lvl = lvl; show_time_host_and_name(lvl); /* mimic syslog header */ - fwrite(msg, ptr - msg, 1, logfp); + __IGNORE(fwrite(msg, ptr - msg, 1, logfp)); fflush(logfp); } break; @@ -824,7 +824,7 @@ switch_to_logfile(char *logfile, int old_umask, int truncate_log) } else { /* regular log file */ (void) umask(old_umask); if (truncate_log) - truncate(logfile, 0); + __IGNORE(truncate(logfile, 0)); new_logfp = fopen(logfile, "a"); umask(0); } diff --git a/m4/macros/save_state.m4 b/m4/macros/save_state.m4 index 15d533e2..abc7b55f 100644 --- a/m4/macros/save_state.m4 +++ b/m4/macros/save_state.m4 @@ -7,6 +7,7 @@ if test -f confdefs.h then cp confdefs.h dbgcf.h fi -[AC_CACHE_SAVE] +[AC_CACHE_SAVE +AC_MSG_NOTICE([*** SAVING CONFIGURE STATE ***])] ) dnl ======================================================================