diff options
| author | Michael Forney <mforney@mforney.org> | 2016-12-11 16:04:20 -0800 |
|---|---|---|
| committer | Michael Forney <mforney@mforney.org> | 2016-12-13 23:10:30 -0800 |
| commit | 293f5a93b77d92fd65db7f3d0df654f102e46cfb (patch) | |
| tree | 6ecd1170e3dd793862dd852814dc1b4cd5e44260 /pkg/sshfs/patch/0005-Use-standard-C-functions.patch | |
| parent | 9a506a6834df01a26795cea222b410f206efa9fa (diff) | |
Move to flat package hierarchy
Note to self: never try to move submodules again
To migrate your existing submodules (more or less):
set -x
set -e
mkdir .git/modules/pkg
for old in */*/src ; do
new="pkg/${old#*/}"
if ! [ -f "$old/.git" ] || [ "${old%%/*}" = pkg ] ; then
continue
fi
git -C ".git/modules/$old" config core.worktree "../../../../../$new"
rmdir "$new"
mv "$old" "$new"
sed -e "s,$old,$new," "$new/.git" > "$new/.git.tmp"
mv "$new/.git.tmp" "$new/.git"
mkdir ".git/modules/${new%/src}"
mv ".git/modules/$old" ".git/modules/$new"
rm "${old%/src}"/*.ninja
mv "${old%/src}"/*.tar.{gz,xz,bz2} "${new%/src}/"
rmdir "${old%/src}" || true
done
sed -e 's,^\[submodule "[^/]*/,[submodule "pkg/,' .git/config > .git/config.tmp
mv .git/config.tmp .git/config
Diffstat (limited to 'pkg/sshfs/patch/0005-Use-standard-C-functions.patch')
| -rw-r--r-- | pkg/sshfs/patch/0005-Use-standard-C-functions.patch | 277 |
1 files changed, 277 insertions, 0 deletions
diff --git a/pkg/sshfs/patch/0005-Use-standard-C-functions.patch b/pkg/sshfs/patch/0005-Use-standard-C-functions.patch new file mode 100644 index 00000000..e58cc29a --- /dev/null +++ b/pkg/sshfs/patch/0005-Use-standard-C-functions.patch @@ -0,0 +1,277 @@ +From 4714c177e2fde09cfa76609ccaf9c72d62f39bfd Mon Sep 17 00:00:00 2001 +From: Michael Forney <mforney@mforney.org> +Date: Sun, 5 Jun 2016 17:42:29 -0700 +Subject: [PATCH] Use standard C functions + +--- + sshfs.c | 101 ++++++++++++++++++++++++++++++++++++++-------------------------- + 1 file changed, 60 insertions(+), 41 deletions(-) + +diff --git a/sshfs.c b/sshfs.c +index 14adca5..4f3bfe4 100644 +--- a/sshfs.c ++++ b/sshfs.c +@@ -637,25 +637,25 @@ static inline void buf_add_path(struct buffer *buf, const char *path) + if (sshfs.base_path[0]) { + if (path[1]) { + if (sshfs.base_path[strlen(sshfs.base_path)-1] != '/') { +- realpath = g_strdup_printf("%s/%s", +- sshfs.base_path, +- path + 1); ++ if (asprintf(&realpath, "%s/%s", sshfs.base_path, path + 1) < 0) ++ abort(); + } else { +- realpath = g_strdup_printf("%s%s", +- sshfs.base_path, +- path + 1); ++ if (asprintf(&realpath, "%s%s", sshfs.base_path, path + 1) < 0) ++ abort(); + } + } else { +- realpath = g_strdup(sshfs.base_path); ++ realpath = strdup(sshfs.base_path); + } + } else { + if (path[1]) +- realpath = g_strdup(path + 1); ++ realpath = strdup(path + 1); + else +- realpath = g_strdup("."); ++ realpath = strdup("."); + } ++ if (!realpath) ++ abort(); + buf_add_string(buf, realpath); +- g_free(realpath); ++ free(realpath); + } + + static int buf_check_get(struct buffer *buf, size_t len) +@@ -948,10 +948,9 @@ nobundle: + pathok: + #endif + +- newpreload = g_strdup_printf("%s%s%s", +- oldpreload ? oldpreload : "", +- oldpreload ? " " : "", +- sopath); ++ if (asprintf(&newpreload, "%s%s%s", ++ oldpreload ? oldpreload : "", oldpreload ? " " : "", sopath) < 0) ++ abort(); + + #ifdef __APPLE__ + if (!newpreload || setenv("DYLD_INSERT_LIBRARIES", newpreload, 1) == -1) +@@ -962,7 +961,7 @@ pathok: + "for ssh nodelay workaround\n"); + } + #endif /* __APPLE__ */ +- g_free(newpreload); ++ free(newpreload); + return 0; + } + #endif +@@ -1342,7 +1341,7 @@ static void request_free(struct request *req) + { + buf_free(&req->reply); + sem_destroy(&req->ready); +- g_free(req); ++ free(req); + } + + static int request_table_insert(struct request_table *reqtab, struct request *req) +@@ -1390,9 +1389,9 @@ static void chunk_free(struct read_chunk *chunk) + rreq = list_entry(chunk->reqs.prev, struct read_req, list); + list_del(&rreq->list); + buf_free(&rreq->data); +- g_free(rreq); ++ free(rreq); + } +- g_free(chunk); ++ free(chunk); + } + + static void chunk_put(struct read_chunk *chunk) +@@ -1944,8 +1943,10 @@ static int sftp_request_send(uint8_t type, struct iovec *iov, size_t count, + struct request **reqp) + { + int err; +- struct request *req = g_new0(struct request, 1); ++ struct request *req = calloc(1, sizeof(struct request)); + ++ if (!req) ++ return -ENOMEM; + req->want_reply = want_reply; + req->end_func = end_func; + req->data = data; +@@ -2586,7 +2587,9 @@ static int sshfs_open_common(const char *path, mode_t mode, + if (fi->flags & O_TRUNC) + pflags |= SSH_FXF_TRUNC; + +- sf = g_new0(struct sshfs_file, 1); ++ sf = calloc(1, sizeof(struct sshfs_file)); ++ if (!sf) ++ return -ENOMEM; + list_init(&sf->write_reqs); + pthread_cond_init(&sf->write_finished, NULL); + /* Assume random read after open */ +@@ -2628,7 +2631,7 @@ static int sshfs_open_common(const char *path, mode_t mode, + fi->fh = (unsigned long) sf; + } else { + cache_invalidate(path); +- g_free(sf); ++ free(sf); + } + buf_free(&buf); + return err; +@@ -2701,7 +2704,7 @@ static void sshfs_file_put(struct sshfs_file *sf) + { + sf->refs--; + if (!sf->refs) +- g_free(sf); ++ free(sf); + } + + static void sshfs_file_get(struct sshfs_file *sf) +@@ -2771,9 +2774,11 @@ static void sshfs_read_begin(struct request *req) + static struct read_chunk *sshfs_send_read(struct sshfs_file *sf, size_t size, + off_t offset) + { +- struct read_chunk *chunk = g_new0(struct read_chunk, 1); ++ struct read_chunk *chunk = calloc(1, sizeof(struct read_chunk)); + struct buffer *handle = &sf->handle; + ++ if (!chunk) ++ abort(); + pthread_cond_init(&chunk->sio.finished, NULL); + list_init(&chunk->reqs); + chunk->size = size; +@@ -2787,7 +2792,9 @@ static struct read_chunk *sshfs_send_read(struct sshfs_file *sf, size_t size, + struct read_req *rreq; + size_t bsize = size < sshfs.max_read ? size : sshfs.max_read; + +- rreq = g_new0(struct read_req, 1); ++ rreq = calloc(1, sizeof(struct read_req)); ++ if (!rreq) ++ abort(); + rreq->sio = &chunk->sio; + rreq->size = bsize; + buf_init(&rreq->data, 0); +@@ -2858,7 +2865,7 @@ static int wait_chunk(struct read_chunk *chunk, char *buf, size_t size) + size -= rreq->res; + list_del(&rreq->list); + buf_free(&rreq->data); +- g_free(rreq); ++ free(rreq); + } + } + +@@ -3513,9 +3520,10 @@ static int sshfs_opt_proc(void *data, const char *arg, int key, + switch (key) { + case FUSE_OPT_KEY_OPT: + if (is_ssh_opt(arg)) { +- tmp = g_strdup_printf("-o%s", arg); ++ if (asprintf(&tmp, "-o%s", arg) < 0) ++ abort(); + ssh_add_arg(tmp); +- g_free(tmp); ++ free(tmp); + return 0; + } + return 1; +@@ -3528,9 +3536,10 @@ static int sshfs_opt_proc(void *data, const char *arg, int key, + return 1; + + case KEY_PORT: +- tmp = g_strdup_printf("-oPort=%s", arg + 2); ++ if (asprintf(&tmp, "-oPort=%s", arg + 2) < 0) ++ abort(); + ssh_add_arg(tmp); +- g_free(tmp); ++ free(tmp); + return 0; + + case KEY_COMPRESS: +@@ -3538,9 +3547,10 @@ static int sshfs_opt_proc(void *data, const char *arg, int key, + return 0; + + case KEY_CONFIGFILE: +- tmp = g_strdup_printf("-F%s", arg + 2); ++ if (asprintf(&tmp, "-F%s", arg + 2) < 0) ++ abort(); + ssh_add_arg(tmp); +- g_free(tmp); ++ free(tmp); + return 0; + + case KEY_HELP: +@@ -3755,17 +3765,19 @@ static void fsname_remove_commas(char *fsname) + #if FUSE_VERSION >= 27 + static char *fsname_escape_commas(char *fsnameold) + { +- char *fsname = g_malloc(strlen(fsnameold) * 2 + 1); ++ char *fsname = malloc(strlen(fsnameold) * 2 + 1); + char *d = fsname; + char *s; + ++ if (!fsname) ++ abort(); + for (s = fsnameold; *s; s++) { + if (*s == '\\' || *s == ',') + *d++ = '\\'; + *d++ = *s; + } + *d = '\0'; +- g_free(fsnameold); ++ free(fsnameold); + + return fsname; + } +@@ -4081,15 +4093,20 @@ int main(int argc, char *argv[]) + exit(1); + } + +- fsname = g_strdup(sshfs.host); +- sshfs.base_path = g_strdup(find_base_path()); ++ fsname = strdup(sshfs.host); ++ if (!fsname) ++ abort(); ++ sshfs.base_path = strdup(find_base_path()); ++ if (!sshfs.base_path) ++ abort(); + + if (sshfs.ssh_command) + set_ssh_command(); + +- tmp = g_strdup_printf("-%i", sshfs.ssh_ver); ++ if (asprintf(&tmp, "-%i", sshfs.ssh_ver) < 0) ++ abort(); + ssh_add_arg(tmp); +- g_free(tmp); ++ free(tmp); + ssh_add_arg(sshfs.host); + if (sshfs.sftp_server) + sftp_server = sshfs.sftp_server; +@@ -4125,14 +4142,16 @@ int main(int argc, char *argv[]) + fsname = fsname_escape_commas(fsname); + else + fsname_remove_commas(fsname); +- tmp = g_strdup_printf("-osubtype=sshfs,fsname=%s", fsname); ++ if (asprintf(&tmp, "-osubtype=sshfs,fsname=%s", fsname) < 0) ++ abort(); + #else + fsname_remove_commas(fsname); +- tmp = g_strdup_printf("-ofsname=sshfs#%s", fsname); ++ if (asprintf(&tmp, "-ofsname=sshfs#%s", fsname) < 0) ++ abort(); + #endif + fuse_opt_insert_arg(&args, 1, tmp); +- g_free(tmp); +- g_free(fsname); ++ free(tmp); ++ free(fsname); + check_large_read(&args); + + #if FUSE_VERSION >= 26 +-- +2.9.0 + |
