return;
{ funlockfile (stream); return; }
_help (const struct argp *argp, const struct argp_state *state, FILE *stream,       unsigned flags, char *name){  int anything = 0;		/* Whether we've output anything.  */  struct hol *hol = 0;  argp_fmtstream_t fs;  if (! stream)    return;  if (! uparams.valid)    fill_in_uparams (state);  fs = __argp_make_fmtstream (stream, 0, uparams.rmargin, 0);  if (! fs)    return;  if (flags & (ARGP_HELP_USAGE | ARGP_HELP_SHORT_USAGE | ARGP_HELP_LONG))    {      hol = argp_hol (argp, 0);      /* If present, these options always come last.  */      hol_set_group (hol, "help", -1);      hol_set_group (hol, "version", -1);      hol_sort (hol);    }  if (flags & (ARGP_HELP_USAGE | ARGP_HELP_SHORT_USAGE))    /* Print a short `Usage:' message.  */    {      int first_pattern = 1, more_patterns;      size_t num_pattern_levels = argp_args_levels (argp);      char *pattern_levels = alloca (num_pattern_levels);      memset (pattern_levels, 0, num_pattern_levels);      do	{	  int old_lm;	  int old_wm = __argp_fmtstream_set_wmargin (fs, uparams.usage_indent);	  char *levels = pattern_levels;	  if (first_pattern)	    __argp_fmtstream_printf (fs, "%s %s",				     dgettext (argp->argp_domain, "Usage:"),				     name);	  else	    __argp_fmtstream_printf (fs, "%s %s",				     dgettext (argp->argp_domain, "  or: "),				     name);	  /* We set the lmargin as well as the wmargin, because hol_usage	     manually wraps options with newline to avoid annoying breaks.  */	  old_lm = __argp_fmtstream_set_lmargin (fs, uparams.usage_indent);	  if (flags & ARGP_HELP_SHORT_USAGE)	    /* Just show where the options go.  */	    {	      if (hol->num_entries > 0)		__argp_fmtstream_puts (fs, dgettext (argp->argp_domain,						     " [OPTION...]"));	    }	  else	    /* Actually print the options.  */	    {	      hol_usage (hol, fs);	      flags |= ARGP_HELP_SHORT_USAGE; /* But only do so once.  */	    }	  more_patterns = argp_args_usage (argp, state, &levels, 1, fs);	  __argp_fmtstream_set_wmargin (fs, old_wm);	  __argp_fmtstream_set_lmargin (fs, old_lm);	  __argp_fmtstream_putc (fs, '\n');	  anything = 1;	  first_pattern = 0;	}      while (more_patterns);    }  if (flags & ARGP_HELP_PRE_DOC)    anything |= argp_doc (argp, state, 0, 0, 1, fs);  if (flags & ARGP_HELP_SEE)    {      __argp_fmtstream_printf (fs, dgettext (argp->argp_domain, "\Try `%s --help' or `%s --usage' for more information.\n"),			       name, name);      anything = 1;    }  if (flags & ARGP_HELP_LONG)    /* Print a long, detailed help message.  */    {      /* Print info about all the options.  */      if (hol->num_entries > 0)	{	  if (anything)	    __argp_fmtstream_putc (fs, '\n');	  hol_help (hol, state, fs);	  anything = 1;	}    }  if (flags & ARGP_HELP_POST_DOC)    /* Print any documentation strings at the end.  */    anything |= argp_doc (argp, state, 1, anything, 0, fs);  if ((flags & ARGP_HELP_BUG_ADDR) && argp_program_bug_address)    {      if (anything)	__argp_fmtstream_putc (fs, '\n');      __argp_fmtstream_printf (fs, dgettext (argp->argp_domain,					     "Report bugs to %s.\n"), 			       argp_program_bug_address);      anything = 1;    }  if (hol)    hol_free (hol);  __argp_fmtstream_free (fs);}