Control: tags -1 + patch I'd like to remove View-OS and thus use fuseiso to replace fuseiso9660 with a transitional package, and AFAICT this is the only API difference.
Please consider the patches below that allow -f, -s, -o opt before the arguments. Best, наб
--- fuseiso-20070708.orig/src/fuseiso.c +++ fuseiso-20070708/src/fuseiso.c @@ -309,9 +309,13 @@ int main(int argc, char *argv[]) maintain_mount_point = 0; maintain_mtab = 1; iocharset = NULL; + + char **fuseopts = reallocarray(NULL, 1, sizeof(*fuseopts)); + fuseopts[0] = argv[0]; + size_t fuseopts_cnt = 1; int c; - while((c = getopt(argc, argv, "+npc:h")) > 0) { + while((c = getopt(argc, argv, "+npc:o:h")) > 0) { switch((char)c) { case 'n': maintain_mtab = 0; @@ -324,6 +328,11 @@ int main(int argc, char *argv[]) iocharset = optarg; }; break; + case 'o': + fuseopts = reallocarray(fuseopts, fuseopts_cnt + 2, sizeof(*fuseopts)); + fuseopts[fuseopts_cnt++] = "-o"; + fuseopts[fuseopts_cnt++] = optarg; + break; case 'h': usage(argv[0]); exit(0); @@ -352,14 +361,12 @@ int main(int argc, char *argv[]) mount_point = normalize_name(argv[optind]); - int nargc = 1 + argc - optind; - char **nargv = (char **) malloc((nargc) * sizeof(char *)); - - nargv[0] = argv[0]; + int nargc = argc - optind; + fuseopts = reallocarray(fuseopts, fuseopts_cnt + nargc, sizeof(*fuseopts)); int i; - for(i = 0; i < nargc - 1; ++i) { - nargv[i + 1] = argv[optind + i]; + for(i = 0; i < nargc; ++i) { + fuseopts[fuseopts_cnt++] = argv[optind + i]; }; if(!iocharset) { @@ -392,5 +399,5 @@ int main(int argc, char *argv[]) // will exit in case of failure rc = isofs_real_preinit(imagefile, image_fd); - return fuse_main(nargc, nargv, &isofs_oper, NULL); + return fuse_main(fuseopts_cnt, fuseopts, &isofs_oper, NULL); }; --- fuseiso-20070708.orig/src/fuseiso.c +++ fuseiso-20070708/src/fuseiso.c @@ -315,7 +315,7 @@ int main(int argc, char *argv[]) size_t fuseopts_cnt = 1; int c; - while((c = getopt(argc, argv, "+npc:o:h")) > 0) { + while((c = getopt(argc, argv, "+npc:o:fsh")) > 0) { switch((char)c) { case 'n': maintain_mtab = 0; @@ -333,6 +333,14 @@ int main(int argc, char *argv[]) fuseopts[fuseopts_cnt++] = "-o"; fuseopts[fuseopts_cnt++] = optarg; break; + case 'f': + fuseopts = reallocarray(fuseopts, fuseopts_cnt + 1, sizeof(*fuseopts)); + fuseopts[fuseopts_cnt++] = "-f"; + break; + case 's': + fuseopts = reallocarray(fuseopts, fuseopts_cnt + 1, sizeof(*fuseopts)); + fuseopts[fuseopts_cnt++] = "-s"; + break; case 'h': usage(argv[0]); exit(0);
--- ../fuseiso-20070708/debian/fuseiso.1 2024-10-18 14:18:25.000000000 +0200 +++ fuseiso-20070708/debian/fuseiso.1 2024-10-19 16:46:42.656671857 +0200 @@ -3,7 +3,7 @@ fuseiso \- FUSE module to mount ISO filesystem images .SH SYNOPSIS .B fuseiso -[\fBoptions\fR] <\fIISO image\fR> <\fImount point\fR> [\fIFUSE library options\fR] +[\fBoptions\fR] [\fIFUSE library options\fR] <\fIISO image\fR> <\fImount point\fR> [\fIFUSE library options\fR] .SH DESCRIPTION This manual page documents briefly the \fBfuseiso\fR command. .PP
signature.asc
Description: PGP signature