mirror of
https://github.com/upa/mscp.git
synced 2026-02-14 17:24:42 +08:00
don't allocate char[PATH_MAX] for each file
This commit makes struct path allocation use strndup(). It reduices the memory footprint for struct path per file (issue #8).
This commit is contained in:
11
src/path.h
11
src/path.h
@@ -14,11 +14,11 @@
|
||||
struct path {
|
||||
struct list_head list; /* mscp->path_list */
|
||||
|
||||
char path[PATH_MAX]; /* file path */
|
||||
size_t size; /* size of file on this path */
|
||||
mode_t mode; /* permission */
|
||||
char *path; /* file path */
|
||||
size_t size; /* size of file on this path */
|
||||
mode_t mode; /* permission */
|
||||
|
||||
char dst_path[PATH_MAX]; /* copy dst path */
|
||||
char *dst_path; /* copy dst path */
|
||||
|
||||
int state;
|
||||
lock lock;
|
||||
@@ -93,6 +93,9 @@ struct path_resolve_args {
|
||||
int walk_src_path(sftp_session src_sftp, const char *src_path,
|
||||
struct list_head *path_list, struct path_resolve_args *a);
|
||||
|
||||
/* free struct path */
|
||||
void free_path(struct path *p);
|
||||
|
||||
/* copy a chunk. either src_sftp or dst_sftp is not null, and another is null */
|
||||
int copy_chunk(FILE *msg_fp, struct chunk *c,
|
||||
sftp_session src_sftp, sftp_session dst_sftp,
|
||||
|
||||
Reference in New Issue
Block a user