f_print (fout, "char* ");	 f_print (fout, " ");
f_print (fout, "char *");
write_sample_client (const char *program_name, version_list * vp){  proc_list *proc;  int i;  decl_list *l;  f_print (fout, "\n\nvoid\n");  pvname (program_name, vp->vers_num);  if (Cflag)    f_print (fout, "( char* host )\n{\n");  else    f_print (fout, "(host)\nchar *host;\n{\n");  f_print (fout, "\tCLIENT *clnt;\n");  i = 0;  for (proc = vp->procs; proc != NULL; proc = proc->next)    {      f_print (fout, "\t");      ptype (proc->res_prefix, proc->res_type, 1);      f_print (fout, " *result_%d;\n", ++i);      /* print out declarations for arguments */      if (proc->arg_num < 2 && !newstyle)	{	  f_print (fout, "\t");	  if (!streq (proc->args.decls->decl.type, "void"))	    ptype (proc->args.decls->decl.prefix, proc->args.decls->decl.type, 1);	  else	    f_print (fout, "char* ");	/* cannot have "void" type */	  f_print (fout, " ");	  pvname (proc->proc_name, vp->vers_num);	  f_print (fout, "_arg;\n");	}      else if (!streq (proc->args.decls->decl.type, "void"))	{	  for (l = proc->args.decls; l != NULL; l = l->next)	    {	      f_print (fout, "\t");	      ptype (l->decl.prefix, l->decl.type, 1);	      f_print (fout, " ");	      pvname (proc->proc_name, vp->vers_num);	      f_print (fout, "_%s;\n", l->decl.name);/*        pdeclaration(proc->args.argname, &l->decl, 1, ";\n" ); */	    }	}    }  /* generate creation of client handle */  f_print (fout, "\tclnt = clnt_create(host, %s, %s, \"%s\");\n",	   program_name, vp->vers_name, tirpcflag ? "netpath" : "udp");  f_print (fout, "\tif (clnt == NULL) {\n");  f_print (fout, "\t\tclnt_pcreateerror(host);\n");  f_print (fout, "\t\texit(1);\n\t}\n");  /* generate calls to procedures */  i = 0;  for (proc = vp->procs; proc != NULL; proc = proc->next)    {      f_print (fout, "\tresult_%d = ", ++i);      pvname (proc->proc_name, vp->vers_num);      if (proc->arg_num < 2 && !newstyle)	{	  f_print (fout, "(");	  if (streq (proc->args.decls->decl.type, "void"))	/* cast to void* */	    f_print (fout, "(void*)");	  f_print (fout, "&");	  pvname (proc->proc_name, vp->vers_num);	  f_print (fout, "_arg, clnt);\n");	}      else if (streq (proc->args.decls->decl.type, "void"))	{	  f_print (fout, "(clnt);\n");	}      else	{	  f_print (fout, "(");	  for (l = proc->args.decls; l != NULL; l = l->next)	    {	      pvname (proc->proc_name, vp->vers_num);	      f_print (fout, "_%s, ", l->decl.name);	    }	  f_print (fout, "clnt);\n");	}      f_print (fout, "\tif (result_%d == NULL) {\n", i);      f_print (fout, "\t\tclnt_perror(clnt, \"call failed:\");\n");      f_print (fout, "\t}\n");    }  f_print (fout, "\tclnt_destroy( clnt );\n");  f_print (fout, "}\n");}