Make sure 'everyone' knows about changes to the sharetab.
+ Instead of opening a temporary sharetab and then renaming
  it, just open it with freopen() writeable and write the info.
Don't open sharetab in parse_sharetab() - it's already open!
+ Reuse the handle, fseek to beginning and read...
The option sharesmb should not be inherited by childs.
Samba is perfectly able to show child file systems...
Use dataset name in comment, not the smb share name.
Use REGISTRY SHARES instead of USER SHARES
+ These are a lot more configurable (more possibility to customize the share).
+ Remove the 'acl' option and replace it with 'writeable' instead.
+ On some machines, there is a "global" share. This isn't really a share,
  but the possibility to modify global options. So first get a line of
  _real_ shares using 'net conf listshares' and _then_ cyckle through
  them retrieving info with 'net conf showshare <share>'.