A.i386-unknown-netbsdelf2.1
A.i386-unknown-openbsd3.8
A.powerpc-ibm-aix5.2.0.0-cc
+A.i386-pc-linux-fc5
+2006-03-21 Erez Zadok <ezk@cs.sunysb.edu>
+
+ * minor new ports: i386-pc-linux-fc5.
+
+ * amd/info_ldap.c: as of Linux Fedora Core 5 (which comes with
+ openldap-2.3.9), the ldap.h headers deprecate several functions
+ used in this file, such as ldap_unbind. You get compile errors
+ about missing extern definitions. Those externs are still in
+ <ldap.h>, but surrounded by an ifdef LDAP_DEPRECATED. I am
+ turning on that ifdef at the top of info_ldap.c, under the
+ assumption that the functions may be deprecated, but they still
+ work for this (older?) version of the LDAP API. It gets am-utils
+ to compile, but it is not clear if it will work perfectly.
+
+ * libamu/xdr_func.c (xdr_am_mountres3_ok), amq/amq_xdr.c
+ (xdr_amq_mount_tree, xdr_amq_mount_tree_p,
+ xdr_amq_mount_info_list, xdr_amq_mount_tree_list), amq/amq.c
+ (show_mti), amd/amq_subr.c (xdr_amq_setopt, xdr_amq_mount_subtree,
+ xdr_amq_mount_tree, xdr_amq_mount_tree_list, xdr_amq_mount_tree),
+ libamu/xdr_func.c (xdr_am_mountres3_ok): use casing magic to stop
+ GCC-4.1 from complaining about "dereferencing type-punned pointer
+ will break strict-aliasing rules" here (but not elsewhere).
+
2006-03-20 Christos Zoulas <christos@zoulas.com>
* libamu/wire.c: avoid potential dereferencing of a NULL pointer
shortname, user=N, group=N, mask=N, and dirmask=N.
- minor new ports:
+ i386-pc-linux-fc5 (Fedora Core 5)
i386-unknown-freebsd6.0 (RELEASE)
i386-unknown-netbsdelf2.1
i386-unknown-netbsdelf3.0 (RELEASE)
bool_t
xdr_amq_setopt(XDR *xdrs, amq_setopt *objp)
{
- if (!xdr_enum(xdrs, (enum_t *) & objp->as_opt)) {
+ if (!xdr_enum(xdrs, (enum_t *) ((voidp) &objp->as_opt))) {
return (FALSE);
}
if (!xdr_string(xdrs, &objp->as_str, AMQ_STRLEN)) {
if (!xdr_amq_mount_tree_node(xdrs, objp)) {
return (FALSE);
}
- if (!xdr_pointer(xdrs, (char **) &mp->am_osib, sizeof(amq_mount_tree), (XDRPROC_T_TYPE) xdr_amq_mount_subtree)) {
+ if (!xdr_pointer(xdrs,
+ (char **) ((voidp) &mp->am_osib),
+ sizeof(amq_mount_tree),
+ (XDRPROC_T_TYPE) xdr_amq_mount_subtree)) {
return (FALSE);
}
- if (!xdr_pointer(xdrs, (char **) &mp->am_child, sizeof(amq_mount_tree), (XDRPROC_T_TYPE) xdr_amq_mount_subtree)) {
+ if (!xdr_pointer(xdrs,
+ (char **) ((voidp) &mp->am_child),
+ sizeof(amq_mount_tree),
+ (XDRPROC_T_TYPE) xdr_amq_mount_subtree)) {
return (FALSE);
}
return (TRUE);
if (!xdr_amq_mount_tree_node(xdrs, objp)) {
return (FALSE);
}
- if (!xdr_pointer(xdrs, (char **) ((void *)&mnil), sizeof(amq_mount_tree), (XDRPROC_T_TYPE) xdr_amq_mount_subtree)) {
+ if (!xdr_pointer(xdrs,
+ (char **) ((voidp) &mnil),
+ sizeof(amq_mount_tree),
+ (XDRPROC_T_TYPE) xdr_amq_mount_subtree)) {
return (FALSE);
}
- if (!xdr_pointer(xdrs, (char **) &mp->am_child, sizeof(amq_mount_tree), (XDRPROC_T_TYPE) xdr_amq_mount_subtree)) {
+ if (!xdr_pointer(xdrs,
+ (char **) ((voidp) &mp->am_child),
+ sizeof(amq_mount_tree),
+ (XDRPROC_T_TYPE) xdr_amq_mount_subtree)) {
return (FALSE);
}
return (TRUE);
xdr_amq_mount_tree_list(XDR *xdrs, amq_mount_tree_list *objp)
{
if (!xdr_array(xdrs,
- (char **) &objp->amq_mount_tree_list_val,
+ (char **) ((voidp) &objp->amq_mount_tree_list_val),
(u_int *) &objp->amq_mount_tree_list_len,
~0,
sizeof(amq_mount_tree_p),
* LDAP Home Page: http://www.umich.edu/~rsug/ldap/
*/
+/*
+ * WARNING: as of Linux Fedora Core 5 (which comes with openldap-2.3.9), the
+ * ldap.h headers deprecate several functions used in this file, such as
+ * ldap_unbind. You get compile errors about missing extern definitions.
+ * Those externs are still in <ldap.h>, but surrounded by an ifdef
+ * LDAP_DEPRECATED. I am turning on that ifdef here, under the assumption
+ * that the functions may be deprecated, but they still work for this
+ * (older?) version of the LDAP API. It gets am-utils to compile, but it is
+ * not clear if it will work perfectly.
+ */
+#ifndef LDAP_DEPRECATED
+# define LDAP_DEPRECATED 1
+#endif /* not LDAP_DEPRECATED */
+
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif /* HAVE_CONFIG_H */
case Full:
{
- struct tm *tp = localtime((time_t *) &mt->mt_mounttime);
+ struct tm *tp = localtime((time_t *) ((voidp) &mt->mt_mounttime));
printf("%-*.*s %-*.*s %-*.*s %s\n\t%-5d %-7d %-6d %-7d %-7d %-6d %02d/%02d/%04d %02d:%02d:%02d\n",
*dwid, *dwid,
*mt->mt_directory ? mt->mt_directory : "/", /* XXX */
case Stats:
{
- struct tm *tp = localtime((time_t *) &mt->mt_mounttime);
+ struct tm *tp = localtime((time_t *) ((voidp) &mt->mt_mounttime));
printf("%-*.*s %-5d %-7d %-6d %-7d %-7d %-6d %02d/%02d/%02d %02d:%02d:%04d\n",
*dwid, *dwid,
*mt->mt_directory ? mt->mt_directory : "/", /* XXX */
return (FALSE);
}
- if (!xdr_pointer(xdrs, (char **) &objp->mt_next, sizeof(amq_mount_tree), (XDRPROC_T_TYPE) xdr_amq_mount_tree)) {
+ if (!xdr_pointer(xdrs,
+ (char **) ((voidp) &objp->mt_next),
+ sizeof(amq_mount_tree),
+ (XDRPROC_T_TYPE) xdr_amq_mount_tree)) {
return (FALSE);
}
- if (!xdr_pointer(xdrs, (char **) &objp->mt_child, sizeof(amq_mount_tree), (XDRPROC_T_TYPE) xdr_amq_mount_tree)) {
+ if (!xdr_pointer(xdrs,
+ (char **) ((voidp) &objp->mt_child),
+ sizeof(amq_mount_tree),
+ (XDRPROC_T_TYPE) xdr_amq_mount_tree)) {
return (FALSE);
}
bool_t
xdr_amq_mount_tree_p(XDR *xdrs, amq_mount_tree_p *objp)
{
- if (!xdr_pointer(xdrs, (char **) objp, sizeof(amq_mount_tree), (XDRPROC_T_TYPE) xdr_amq_mount_tree)) {
+ if (!xdr_pointer(xdrs,
+ (char **) objp,
+ sizeof(amq_mount_tree),
+ (XDRPROC_T_TYPE) xdr_amq_mount_tree)) {
return (FALSE);
}
return (TRUE);
xdr_amq_mount_info_list(XDR *xdrs, amq_mount_info_list *objp)
{
if (!xdr_array(xdrs,
- (char **) &objp->amq_mount_info_list_val,
+ (char **) ((voidp) &objp->amq_mount_info_list_val),
(u_int *) &objp->amq_mount_info_list_len,
~0,
sizeof(amq_mount_info),
xdr_amq_mount_tree_list(XDR *xdrs, amq_mount_tree_list *objp)
{
if (!xdr_array(xdrs,
- (char **) &objp->amq_mount_tree_list_val,
+ (char **) ((voidp) &objp->amq_mount_tree_list_val),
(u_int *) &objp->amq_mount_tree_list_len,
~0,
sizeof(amq_mount_tree_p),
if (!xdr_am_fhandle3(xdrs, &objp->fhandle))
return (FALSE);
if (!xdr_array(xdrs,
- (char **)&objp->auth_flavors.auth_flavors_val,
+ (char **) ((voidp) &objp->auth_flavors.auth_flavors_val),
(u_int *) &objp->auth_flavors.auth_flavors_len,
~0,
sizeof(int),
- (xdrproc_t) xdr_int))
+ (XDRPROC_T_TYPE) xdr_int))
return (FALSE);
return (TRUE);
}