+2009-10-26 Christos Zoulas <christos@zoulas.com>
+
+ * Fix issue with autoconf 2.63
+
+ * Fix compile warnings for gcc-4.4.x
+
2009-04-15 Christos Zoulas <christos@zoulas.com>
* Share the LDAP connection between different maps to save resources
(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;
}
/*
*/
#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 */
mntent_t mnt;
int flags;
const char *p;
+ (void)&p;
/*
* Figure out the name of the file system type.
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 ***
/* 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];
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)
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
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;
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)
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 */
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;
}
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;
}
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;
}
*/
#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 */
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 ======================================================================
*/
#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 */
/* 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 */
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;
} 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));
}
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;
#ifndef _AM_DEFS_H
#define _AM_DEFS_H
-#define _LARGEFILE64_SOURCE
-
/*
* Actions to take if ANSI C.
*/
# 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
*/
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;
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;
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;
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;
} 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);
}
then
cp confdefs.h dbgcf.h
fi
-[AC_CACHE_SAVE]
+[AC_CACHE_SAVE
+AC_MSG_NOTICE([*** SAVING CONFIGURE STATE ***])]
)
dnl ======================================================================