f_print (fout, "("); ptype (proc->args.decls->decl.prefix, proc->args.decls->decl.type, 1); f_print (fout, "*argp, %s%s)\n", addargtype, addargname);
fprintf (fout, "("); ptype (proc->args.decls->decl.prefix, proc->args.decls->decl.type, 1);  if (mtflag) { fprintf (fout, "*argp, "); ptype(proc->res_prefix, proc->res_type, 1); fprintf (fout, "*%s, %s%s)\n", result, addargtype, addargname); } else fprintf (fout, "*argp, %s%s)\n", addargtype, addargname);
printarglist (proc_list * proc,	      const char *addargname, const char *addargtype){  decl_list *l;  if (!newstyle)    {				/* old style: always pass argument by reference */      if (Cflag)	{			/* C++ style heading */	  f_print (fout, "(");	  ptype (proc->args.decls->decl.prefix, proc->args.decls->decl.type, 1);	  f_print (fout, "*argp, %s%s)\n", addargtype, addargname);	}      else	{	  f_print (fout, "(argp, %s)\n", addargname);	  f_print (fout, "\t");	  ptype (proc->args.decls->decl.prefix, proc->args.decls->decl.type, 1);	  f_print (fout, "*argp;\n");	}    }  else if (streq (proc->args.decls->decl.type, "void"))    {      /* newstyle, 0 argument */      if (Cflag)	f_print (fout, "(%s%s)\n", addargtype, addargname);      else	f_print (fout, "(%s)\n", addargname);    }  else    {      /* new style, 1 or multiple arguments */      if (!Cflag)	{	  f_print (fout, "(");	  for (l = proc->args.decls; l != NULL; l = l->next)	    f_print (fout, "%s, ", l->decl.name);	  f_print (fout, "%s)\n", addargname);	  for (l = proc->args.decls; l != NULL; l = l->next)	    {	      pdeclaration (proc->args.argname, &l->decl, 1, ";\n");	    }	}      else	{			/* C++ style header */	  f_print (fout, "(");	  for (l = proc->args.decls; l != NULL; l = l->next)	    {	      pdeclaration (proc->args.argname, &l->decl, 0, ", ");	    }	  f_print (fout, " %s%s)\n", addargtype, addargname);	}    }  if (!Cflag)    f_print (fout, "\t%s%s;\n", addargtype, addargname);}