set_outfile(char *infile, char *outfile, size_t osize)
set_outfile(const char *infile, char *outfile, size_t osize)
set_outfile(char *infile, char *outfile, size_t osize){	int i;	char *s;	static char *suffixes[] = { ".Z", ".gz", ".z", ".tgz", ".taz",				    "-Z", "-gz", "-z", "_Z", "_gz", "_z",				    NULL };	if ((s = strrchr(infile, '.')) == NULL &&	    (s = strrchr(infile, '-')) == NULL &&	    (s = strrchr(infile, '_')) == NULL)		return (NULL);	for (i = 0; suffixes[i] != NULL; i++) {		if (strcmp(s, suffixes[i]) == 0) {			(void)strlcpy(outfile, infile, osize);			s = outfile + (s - infile);			/*			 * Convert .tgz and .taz -> .tar,			 * else drop the suffix.			 */			if (strcmp(s, ".tgz") == 0) {				s[2] = 'a';				s[3] = 'r';			} else if (strcmp(s, ".taz") == 0)				s[3] = 'r';			else				s[0] = '\0';			return (outfile);		}	}	return (NULL);}