/share/examples/sunrpc/sort/rsort.c

https://bitbucket.org/freebsd/freebsd-head/ · C · 43 lines · 31 code · 6 blank · 6 comment · 3 complexity · d9ee43ca738e4ff7ed281395385d21d4 MD5 · raw file

  1. /* @(#)rsort.c 2.1 88/08/11 4.0 RPCSRC */
  2. /*
  3. * rsort.c
  4. * Client side application which sorts argc, argv.
  5. */
  6. #include <stdio.h>
  7. #include <rpc/rpc.h>
  8. #include "sort.h"
  9. main(argc, argv)
  10. int argc;
  11. char **argv;
  12. {
  13. char *machinename;
  14. struct sortstrings args, res;
  15. int i;
  16. if (argc < 3) {
  17. fprintf(stderr, "usage: %s machinename [s1 ...]\n", argv[0]);
  18. exit(1);
  19. }
  20. machinename = argv[1];
  21. args.ss.ss_len = argc - 2; /* substract off progname, machinename */
  22. args.ss.ss_val = &argv[2];
  23. res.ss.ss_val = (char **)NULL;
  24. if ((i = callrpc(machinename, SORTPROG, SORTVERS, SORT,
  25. xdr_sortstrings, &args, xdr_sortstrings, &res)))
  26. {
  27. fprintf(stderr, "%s: call to sort service failed. ", argv[0]);
  28. clnt_perrno(i);
  29. fprintf(stderr, "\n");
  30. exit(1);
  31. }
  32. for (i = 0; i < res.ss.ss_len; i++) {
  33. printf("%s\n", res.ss.ss_val[i]);
  34. }
  35. /* should free res here */
  36. exit(0);
  37. }