- int nonopts_size = (last_nonopt - first_nonopt) * sizeof (char *);
-#ifdef _CRAY
- char *temp[last_nonopt - first_nonopt];
-#else
- char **temp = (char **) __alloca (nonopts_size);
-#endif
-
- /* Interchange the two blocks of data in ARGV. */
-
- my_bcopy ((char *) &argv[first_nonopt], (char *) temp, nonopts_size);
- my_bcopy ((char *) &argv[last_nonopt], (char *) &argv[first_nonopt],
- (optind - last_nonopt) * sizeof (char *));
- my_bcopy ((char *) temp,
- (char *) &argv[first_nonopt + optind - last_nonopt],
- nonopts_size);
-
- /* Update records for the slots the non-options now occupy. */