go via a temporary variable in case these scalars are different size
bool_t libnfs_zdr_quad_t(ZDR *zdrs, int64_t *i);
#define zdr_enum libnfs_zdr_enum
-bool_t libnfs_zdr_enum(ZDR *zdrs, int32_t *e);
+bool_t libnfs_zdr_enum(ZDR *zdrs, enum_t *e);
#define zdr_bool libnfs_zdr_bool
bool_t libnfs_zdr_bool(ZDR *zdrs, bool_t *b);
}
-bool_t libnfs_zdr_enum(ZDR *zdrs, int32_t *e)
+bool_t libnfs_zdr_enum(ZDR *zdrs, enum_t *e)
{
- return libnfs_zdr_u_int(zdrs, (uint32_t *)e);
+ bool_t ret;
+ int32_t i = *e;
+
+ ret = libnfs_zdr_u_int(zdrs, (uint32_t *)&i);
+ *e = i;
+
+ return ret;
}
bool_t libnfs_zdr_bool(ZDR *zdrs, bool_t *b)