Subject: Re: [patch] Update _tcpdump for Free and Open BSD
From: Oliver Kiddle <[email-masked]>
To: Matthew Martin <[email-masked]>
Cc: [email-masked]
Date: Sun, 24 Jul 2016 02:33:26 +0200
List-Id: Zsh Workers List <zsh-workers.zsh.org>

Matthew Martin wrote:
> I haven't verified if the default options are still valid for whatever
> tcpdump Linux systems use.

It's the same tcpdump just with the BSDs merging into their source tree,
right? So FreeBSD just has 4.4.0 while on Linux it is 4.7.4. What
version is it on OpenBSD? Are the BSDs pulling upstream changes
from time to time or have they effectively done a permanent fork?
The Linux one seems to have been infected with long options.

I started some work on completing the filters which I ought to dig out
and finish.

> Specifying an that an option (such as -L) excludes all but one other
> option (such as -i) is very tedious. Any chance a notation like
> '(-*~i *)-L[...' could be supported?

You can use the sets for that. Something like:

_arguments -C -s \
  '-i+[specify interface]:interface:_interfaces' \
  - listt \
  '-J[list supported time stamp types]' \
  - listd \
  '-L[list data link types for the interface]' \
  - capture \
  ...

Oliver