mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-21 22:53:37 +00:00
Revert "daemon: send_dirent_info: Use designated compound literal for tsk_dirent"
This breaks compilation:
tsk.c: In function ‘send_dirent_info’:
tsk.c:209:32: error: passing argument 2 of ‘file_metadata’ discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
209 | file_metadata (fsfile->meta, &dirent);
| ^~~~~~~
tsk.c:51:43: note: expected ‘guestfs_int_tsk_dirent *’ but argument is of type ‘const struct guestfs_int_tsk_dirent *’
51 | static void file_metadata (TSK_FS_META *, guestfs_int_tsk_dirent *);
| ^~~~~~~~~~~~~~~~~~~~~~~~
tsk.c:211:43: error: passing argument 2 of ‘xdr_guestfs_int_tsk_dirent’ discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
211 | ret = xdr_guestfs_int_tsk_dirent (&xdr, &dirent);
| ^~~~~~~
In file included from tsk.c:29:
../common/protocol/guestfs_protocol.h:5215:51: note: expected ‘guestfs_int_tsk_dirent *’ but argument is of type ‘const struct guestfs_int_tsk_dirent *’
5215 | extern bool_t xdr_guestfs_int_tsk_dirent (XDR *, guestfs_int_tsk_dirent*);
| ^~~~~~~~~~~~~~~~~~~~~~~
This reverts commit b5000cf547.
This commit is contained in:
25
daemon/tsk.c
25
daemon/tsk.c
@@ -181,8 +181,12 @@ send_dirent_info (TSK_FS_FILE *fsfile, const char *path)
|
||||
XDR xdr;
|
||||
int ret = 0;
|
||||
size_t len = 0;
|
||||
struct guestfs_int_tsk_dirent dirent;
|
||||
CLEANUP_FREE char *buf = NULL, *fname = NULL;
|
||||
|
||||
/* Set dirent fields */
|
||||
memset (&dirent, 0, sizeof dirent);
|
||||
|
||||
/* Build the full relative path of the entry */
|
||||
ret = asprintf (&fname, "%s%s", path, fsfile->name->name);
|
||||
if (ret < 0) {
|
||||
@@ -190,7 +194,14 @@ send_dirent_info (TSK_FS_FILE *fsfile, const char *path)
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Allocate XDR buffer */
|
||||
dirent.tsk_inode = fsfile->name->meta_addr;
|
||||
dirent.tsk_type = file_type (fsfile);
|
||||
dirent.tsk_name = fname;
|
||||
dirent.tsk_flags = file_flags (fsfile);
|
||||
|
||||
file_metadata (fsfile->meta, &dirent);
|
||||
|
||||
/* Serialize tsk_dirent struct. */
|
||||
buf = malloc (GUESTFS_MAX_CHUNK_SIZE);
|
||||
if (buf == NULL) {
|
||||
perror ("malloc");
|
||||
@@ -199,15 +210,6 @@ send_dirent_info (TSK_FS_FILE *fsfile, const char *path)
|
||||
|
||||
xdrmem_create (&xdr, buf, GUESTFS_MAX_CHUNK_SIZE, XDR_ENCODE);
|
||||
|
||||
const struct guestfs_int_tsk_dirent dirent = {
|
||||
.tsk_inode = fsfile->name->meta_addr,
|
||||
.tsk_type = file_type (fsfile),
|
||||
.tsk_name = fname,
|
||||
.tsk_flags = file_flags (fsfile),
|
||||
};
|
||||
|
||||
file_metadata (fsfile->meta, &dirent);
|
||||
|
||||
ret = xdr_guestfs_int_tsk_dirent (&xdr, &dirent);
|
||||
if (ret == 0) {
|
||||
perror ("xdr_guestfs_int_tsk_dirent");
|
||||
@@ -216,9 +218,10 @@ send_dirent_info (TSK_FS_FILE *fsfile, const char *path)
|
||||
}
|
||||
|
||||
len = xdr_getpos (&xdr);
|
||||
|
||||
xdr_destroy (&xdr);
|
||||
|
||||
/* Send serialized tsk_dirent out. */
|
||||
/* Send serialised tsk_dirent out. */
|
||||
return send_file_write (buf, len);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user