2
#include "archives.hpp"
8
char gvfs_archive_path[PATH_MAX];
10
for (i = 0; i < strlen(path); i++) {
12
/* authors of gvfsd-archive frontend cannot into URI decode */
13
gvfs_archive_path[j++] = '%';
14
gvfs_archive_path[j++] = '2';
15
gvfs_archive_path[j++] = '5';
16
gvfs_archive_path[j++] = '2';
17
gvfs_archive_path[j++] = 'F';
19
gvfs_archive_path[j++] = path[i];
23
char *gvfs_prefix = "archive://file%253A%252F%252F";
24
char gvfs_archive[PATH_MAX];
25
strcpy(gvfs_archive, gvfs_prefix);
26
strcat(gvfs_archive, gvfs_archive_path);
28
char *gvfs_mount = "gvfs-mount";
29
char *const gvfs[] = {gvfs_mount, gvfs_archive, NULL};
31
exec(gvfs_mount, gvfs);
36
int archives::umount()
38
char gvfs_archive_path[PATH_MAX];
40
for (i = 0; i < strlen(path); i++) {
42
/* authors of gvfsd-archive frontend cannot into URI decode */
43
gvfs_archive_path[j++] = '%';
44
gvfs_archive_path[j++] = '2';
45
gvfs_archive_path[j++] = '5';
46
gvfs_archive_path[j++] = '2';
47
gvfs_archive_path[j++] = 'F';
49
gvfs_archive_path[j++] = path[i];
53
char *gvfs_prefix = "archive://file%253A%252F%252F";
54
char gvfs_archive[PATH_MAX];
55
strcpy(gvfs_archive, gvfs_prefix);
56
strcat(gvfs_archive, gvfs_archive_path);
58
char *gvfs_mount = "gvfs-mount";
59
char *const gvfs[] = {gvfs_mount, "-u", gvfs_archive, NULL};
61
exec(gvfs_mount, gvfs);