The NetBSD Project

CVS log for src/lib/librefuse/refuse_opt.c

[BACK] Up to [cvs.NetBSD.org] / src / lib / librefuse

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.23 / (download) - annotate - [select for diffs], Sat Jan 22 07:58:32 2022 UTC (2 years, 1 month ago) by pho
Branch: MAIN
CVS Tags: triaxx-drm, netbsd-10-base, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, HEAD
Changes since 1.22: +12 -12 lines
Diff to previous 1.22 (colored) to selected 1.5 (colored)

Increase the warning level to spot more mistakes

Revision 1.22 / (download) - annotate - [select for diffs], Sat Dec 4 06:42:39 2021 UTC (2 years, 3 months ago) by pho
Branch: MAIN
Changes since 1.21: +2 -2 lines
Diff to previous 1.21 (colored) to selected 1.5 (colored)

librefuse: Preparation of a proper API versioning; no more #ifdef woes in user code

The goal is to fully support FUSE API version 3.0 while maintaining
API/ABI compatibility with code written for 2.6 (or even older).

* <fuse.h> now emits a compiler warning if it's included without
  defining FUSE_USE_VERSION. It had been silently defaulted to the
  latest supported version prior to this change. This is permissive
  compared to the original FUSE, as it emits an error instead.

* <fuse.h> now emits a warning if FUSE_USE_VERSION is higher than what
  can be provided.

* Added a macro FUSE_MAKE_VERSION(maj, min). It was missing from
  librefuse <fuse.h>.

No actual API updates have been made (yet).

Revision 1.21 / (download) - annotate - [select for diffs], Wed Dec 1 14:17:50 2021 UTC (2 years, 3 months ago) by pho
Branch: MAIN
Changes since 1.20: +2 -2 lines
Diff to previous 1.20 (colored) to selected 1.5 (colored)

Revert my previous change to struct fuse_opt

I should have thought twice before commiting it. Of course changing
the layout of a struct breaks ABI compatibility. Change the offset
back to fixed 32 bits.

Revision 1.20 / (download) - annotate - [select for diffs], Wed Dec 1 13:51:33 2021 UTC (2 years, 3 months ago) by pho
Branch: MAIN
Changes since 1.19: +2 -2 lines
Diff to previous 1.19 (colored) to selected 1.5 (colored)

Use correct types for the fields of struct fuse_opt

This change shouldn't make any behavioral differences in reality, but
compilers these days dislike converting -1U to int32_t implicitly,
which is indeed understandable.

Revision 1.19 / (download) - annotate - [select for diffs], Sat Oct 30 09:06:34 2021 UTC (2 years, 4 months ago) by nia
Branch: MAIN
Changes since 1.18: +3 -9 lines
Diff to previous 1.18 (colored) to selected 1.5 (colored)

refuse(3): Simplify reallocation logic with reallocarr.

Revision 1.15.26.1 / (download) - annotate - [select for diffs], Sat Jan 7 08:56:04 2017 UTC (7 years, 2 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.15: +348 -190 lines
Diff to previous 1.15 (colored) next main 1.16 (colored) to selected 1.5 (colored)

Sync with HEAD.  (Note that most of these changes are simply $NetBSD$
tag issues.)

Revision 1.18 / (download) - annotate - [select for diffs], Wed Nov 16 16:11:42 2016 UTC (7 years, 4 months ago) by pho
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, phil-wifi, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, perseant-stdc-iso10646-base, perseant-stdc-iso10646, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, matt-nb8-mediatek-base, matt-nb8-mediatek, is-mlppp-base, is-mlppp, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Changes since 1.17: +276 -171 lines
Diff to previous 1.17 (colored) to selected 1.5 (colored)

Major rework of fuse_opt_parse(3) so that it supports all the functionality of the original function

Revision 1.17 / (download) - annotate - [select for diffs], Tue Nov 15 00:34:19 2016 UTC (7 years, 4 months ago) by pho
Branch: MAIN
Changes since 1.16: +43 -9 lines
Diff to previous 1.16 (colored) to selected 1.5 (colored)

fuse_opt_match(3): Support every form of templates, not just the simple strcmp case

Also it should return 1 for successful matches, not the way around.

Revision 1.16 / (download) - annotate - [select for diffs], Mon Nov 14 17:19:29 2016 UTC (7 years, 4 months ago) by pho
Branch: MAIN
Changes since 1.15: +37 -18 lines
Diff to previous 1.15 (colored) to selected 1.5 (colored)

Implement missing fuse_opt_add_opt(3) and fuse_opt_add_opt_escaped(3)

Revision 1.13.12.1 / (download) - annotate - [select for diffs], Sun Mar 20 21:21:57 2011 UTC (13 years ago) by bouyer
Branch: netbsd-5
CVS Tags: netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2
Changes since 1.13: +2 -1 lines
Diff to previous 1.13 (colored) next main 1.14 (colored) to selected 1.5 (colored)

Pull up following revision(s) (requested by soda in ticket #1568):
	lib/librefuse/refuse_opt.c: revision 1.15
fuse_opt_parse() was using uninitialized struct fuse_opt_option::data,
this bug made fuse_opt_proc_t not work, if it used first ``data'' argument,
and might cause memory corruption even.

Revision 1.14.4.1 / (download) - annotate - [select for diffs], Sat Mar 5 15:09:22 2011 UTC (13 years ago) by bouyer
Branch: bouyer-quota2
Changes since 1.14: +2 -1 lines
Diff to previous 1.14 (colored) next main 1.15 (colored) to selected 1.5 (colored)

Sync with HEAD

Revision 1.15 / (download) - annotate - [select for diffs], Tue Mar 1 11:23:42 2011 UTC (13 years ago) by soda
Branch: MAIN
CVS Tags: yamt-pagecache-tag8, yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, yamt-pagecache, tls-maxphys-base, tls-maxphys, tls-earlyentropy-base, tls-earlyentropy, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, pgoyette-localcount-base, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, localcount-20160914, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, agc-symver-base, agc-symver
Branch point for: pgoyette-localcount
Changes since 1.14: +2 -1 lines
Diff to previous 1.14 (colored) to selected 1.5 (colored)

fuse_opt_parse() was using uninitialized struct fuse_opt_option::data,
this bug made fuse_opt_proc_t not work, if it used first ``data'' argument,
and might cause memory corruption even.

Revision 1.14 / (download) - annotate - [select for diffs], Mon Jan 19 09:56:06 2009 UTC (15 years, 2 months ago) by lukem
Branch: MAIN
CVS Tags: matt-premerge-20091211, matt-mips64-premerge-20101231, jym-xensuspend-nbase, jym-xensuspend-base, jym-xensuspend, bouyer-quota2-base
Branch point for: bouyer-quota2
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 (colored) to selected 1.5 (colored)

fix -Wsign-compare issue

Revision 1.11.4.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:11:57 2007 UTC (16 years, 4 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.11: +8 -7 lines
Diff to previous 1.11 (colored) next main 1.12 (colored) to selected 1.5 (colored)

sync with HEAD

Revision 1.13 / (download) - annotate - [select for diffs], Mon Nov 5 13:41:52 2007 UTC (16 years, 4 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-pf42-base, yamt-pf42, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, netbsd-5-base, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, mjf-devfs2-base, mjf-devfs2, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, matt-armv6-nbase, matt-armv6-base, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-nbase, hpcarm-cleanup-base, cube-autoconf-base, cube-autoconf
Branch point for: netbsd-5
Changes since 1.12: +8 -4 lines
Diff to previous 1.12 (colored) to selected 1.5 (colored)

Header cleanup: don't need defs.h to do a few includes for us.  Also,
use #include <> for global headers instead of #include "".

Revision 1.12 / (download) - annotate - [select for diffs], Sat Oct 6 07:21:02 2007 UTC (16 years, 5 months ago) by xtraeme
Branch: MAIN
Changes since 1.11: +1 -4 lines
Diff to previous 1.11 (colored) to selected 1.5 (colored)

Use a two clause license for all the code I contributed.

The envsys code will be changed later.

Revision 1.11 / (download) - annotate - [select for diffs], Thu May 17 01:55:43 2007 UTC (16 years, 10 months ago) by christos
Branch: MAIN
CVS Tags: matt-mips64-base, matt-mips64, hpcarm-cleanup
Branch point for: matt-armv6
Changes since 1.10: +36 -6 lines
Diff to previous 1.10 (colored) to selected 1.5 (colored)

More fixes:
- make sure that the args array is NULL terminated.
- make sure argc is initialized and argv is set to NULL after freeing.
- make the deep copy function an opt interface function.

Revision 1.10 / (download) - annotate - [select for diffs], Wed May 16 21:39:08 2007 UTC (16 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.9: +33 -32 lines
Diff to previous 1.9 (colored) to selected 1.5 (colored)

- Always check strdup return. For now we are lazy and bail instead of cleaning
  up.
- Use malloc and free instead of macros, delete macros.
- Merge the two copies of deep copy and free args that were slightly buggy
  into one and use that one.

XXX: Lots of ints should be size_t.
XXX: Bailing on error is not a good thing for a library.
XXX: Defs.h should be eliminated completely. Not all files need all the headers.

Revision 1.9 / (download) - annotate - [select for diffs], Tue Apr 17 06:34:48 2007 UTC (16 years, 11 months ago) by agc
Branch: MAIN
Changes since 1.8: +3 -3 lines
Diff to previous 1.8 (colored) to selected 1.5 (colored)

The error return code from fuse_opt_add_arg() and fuse_opt_insert_arg() is
actually -1, not 1. Fix the broken sewing machine, and make it sew.

Revision 1.8 / (download) - annotate - [select for diffs], Tue Apr 17 00:25:21 2007 UTC (16 years, 11 months ago) by xtraeme
Branch: MAIN
Changes since 1.7: +1 -2 lines
Diff to previous 1.7 (colored) to selected 1.5 (colored)

Forgot to move the prototype in a comment to the correct place.

Revision 1.7 / (download) - annotate - [select for diffs], Tue Apr 17 00:23:23 2007 UTC (16 years, 11 months ago) by xtraeme
Branch: MAIN
Changes since 1.6: +5 -4 lines
Diff to previous 1.6 (colored) to selected 1.5 (colored)

Sync comments with reality.

Revision 1.6 / (download) - annotate - [select for diffs], Tue Apr 17 00:20:52 2007 UTC (16 years, 11 months ago) by xtraeme
Branch: MAIN
Changes since 1.5: +5 -3 lines
Diff to previous 1.5 (colored)

Wrap long lines.

Revision 1.5 / (download) - annotate - [selected], Mon Apr 16 09:55:51 2007 UTC (16 years, 11 months ago) by agc
Branch: MAIN
Changes since 1.4: +55 -13 lines
Diff to previous 1.4 (colored)

Flesh out the args management a bit more:

+ put some meat into the add_arg and insert_arg functions
+ implement the free_args function
+ use 0 and 1 return values, instead of EXIT_SUCCESS and EXIT_FAILURE, in
  internal functions (they bear no relation to shell exit values)
+ deep copy argument structures in refuse.c - we need to do this because
  some FUSE file systems attempt to obliterate^Wcloak the argument vector
  "for security reasons"
+ a side benefit of this is that we get the specific refuse file system
  name back again:

[10:48:43] agc@inspiron1300 ...src/lib/librefuse 38 > df
Filesystem         1K-blocks      Used     Avail Capacity  Mounted on
/dev/dk0            28101396  19318530   7377798    72%    /
kernfs                     1         1         0   100%    /kern
procfs                     4         4         0   100%    /proc
ptyfs                      1         1         0   100%    /dev/pts
puffs:refuse:id3fs         0         0         0   100%    /mnt
[10:48:51] agc@inspiron1300 ...src/lib/librefuse 39 >

Revision 1.4 / (download) - annotate - [select for diffs], Tue Mar 13 22:47:04 2007 UTC (17 years ago) by agc
Branch: MAIN
Changes since 1.3: +18 -61 lines
Diff to previous 1.3 (colored) to selected 1.5 (colored)

Revert the most recent changes I made - they weren't ready for primetime.

Revision 1.3 / (download) - annotate - [select for diffs], Tue Mar 13 20:50:47 2007 UTC (17 years ago) by agc
Branch: MAIN
Changes since 1.2: +62 -19 lines
Diff to previous 1.2 (colored) to selected 1.5 (colored)

+ Only use EXIT_SUCCESS and EXIT_FAILURE for the return code to the
shell in the fuse_opt functions

+ add new debugging functions:
	+ __fuse_debug(), which is used to set and retrieve the
	debugging level, so that debugging information can be turned
	on and off from the user-level filesystem, and
	+ __fuse_pargs(), which prints out an argv vector

+ put the comment about pu_privdata back with the code it references

+ put the code to place the refuse name back into the fuse_new()
function - we have access to all the arguments there.

+ specifically include <fuse_opt.h> in <fuse.h> - this would seem to
be what FUSE itself does, judging by the number of fuse-based
filesystems I've patched to include <fuse_opt.h> specifically

+ do away with the forward reference to struct fuse_args in fuse.h,
since it is defined just after the forward reference without being
referenced in between

+ fill in the missing refuse_opt args functionality - add an arg to the
args structure in fuse_opt_add_arg() and fuse_opt_insert_arg(), and
free allocated memory in fuse_opt_free_args().

+ get rid of spurious forward declarations and prototypes.

+ if REFUSE_INHERIT_FS_CHARACTERISTICS is defined when refuse is built,
file systems inherit the vfs characteristics of their mountpoints. The
default value is NOT to inherit the vfs characteristics.

+ perform a deep copy of the fuse_args structure in fuse_mount() -
this is so that existing FUSE filesystems still DTRT when arguments
are zeroed out.

Revision 1.2 / (download) - annotate - [select for diffs], Wed Feb 28 21:48:46 2007 UTC (17 years ago) by agc
Branch: MAIN
Changes since 1.1: +12 -7 lines
Diff to previous 1.1 (colored) to selected 1.5 (colored)

Minor cosmetic changes to clean up some lint.

Revision 1.1 / (download) - annotate - [select for diffs], Wed Feb 28 16:23:00 2007 UTC (17 years ago) by xtraeme
Branch: MAIN
Diff to selected 1.5 (colored)

* Move fuse_opt* defs and prototypes into fuse_opt.h.
* Move fuse_opt* funcs from refuse.c into refuse_opt.c.

Implement fuse_opt_parse() and fuse_opt_match(). And make the other
functions just dummy, always returning 0 (I added debugging printfs
to see what the application is trying to do).

For now there are two things that do not work in fuse_opt:

	* options accepting arguments, i.e -otimeout=%u or -ofile=%s.
	* options without arguments are not enabled, just parsed.

At least now curlftpfs works, even with verbose mode! :-)

Ok'ed by pooka.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>