/* The callback argument specifies a function that returns a whitespace string or NULL before and after each element. If MXML_NO_CALLBACK is specified, whitespace will only be added before MXML_TEXT nodes with leading whitespace and before attribute names inside opening element tags.  */
int mxmlSaveFile(mxml_node_t *node, FILE *fp, mxml_save_cb_t cb)
/* The callback argument specifies a function that returns a whitespace string or NULL before and after each element. If MXML_NO_CALLBACK is specified, whitespace will only be added before MXML_TEXT nodes with leading whitespace and before attribute names inside opening element tags.  */
int mxmlSaveFile(mxml_node_t *node, FILE *fp, mxml_save_cb_t cb)
{
  int	col;
  _mxml_global_t *global = _mxml_global();
  if ((col = mxml_write_node(node, fp, cb, 0, mxml_file_putc, global)) < 0)
    return (-1);
  if (col > 0)
    if (putc('\n', fp) < 0)
      return (-1);
  return (0);
}