#compdef dd

if compset -P 1 'conv\='; then
  # If there's a comma present, ignore up to the last one.  The
  # test alone will have that effect.
  compset -p '*,'
  compadd -qS, -q ascii ebcdic ibm block unblock lcase ucase swab noerror sync
elif compset -P 1 '[io]f\='; then
  _files
else
  compadd -S '=' if of ibs obs bs cbs skip files seek count conv
fi
