struct file_struct {
union {
dev_t rdev; /* The device number, if this is a device */
- char *sum; /* Only a normal file can have a checksum */
- char *link; /* Points to symlink string, if a symlink */
+ const char *sum;/* Only a normal file can have a checksum */
+ const char *link;/* Points to symlink string, if a symlink */
} u;
OFF_T length;
- char *basename; /* The current item's name (AKA filename) */
- char *dirname; /* The directory info inside the transfer */
+ const char *basename; /* The current item's name (AKA filename) */
+ const char *dirname; /* The directory info inside the transfer */
union {
- char *root; /* Sender-side dir info outside transfer */
+ const char *root;/* Sender-side dir info outside transfer */
int depth; /* Receiver-side directory depth info */
} dir;
union {
int64 matched_data;
int64 flist_buildtime;
int64 flist_xfertime;
- int flist_size;
+ int64 flist_size;
int num_files;
int num_transferred_files;
int current_file_index;
#ifndef __GNUC__
#define __attribute__(x)
+# if __GNUC__ <= 2
+# define NORETURN
+# endif
#endif
#define UNUSED(x) x __attribute__((__unused__))
+#ifndef NORETURN
#define NORETURN __attribute__((__noreturn__))
+#endif
#include "proto.h"