len = strlen(buf); len += strlen(strncpy(&buf[len], argv[1], sizeof(buf) - len - 1)); for (i = 2; i < argc && len < sizeof(buf); i++) { buf[len++] = ' '; len += strlen(strncpy(&buf[len], argv[i], sizeof(buf) - len - 1));
for (i = 1, len = strlen(buf); i < argc && len < sizeof(buf)-1; i++) {   if (len >= sizeof(buf) - 1) break;   if (len > 1) buf[len++] = ' ';   if (len >= sizeof(buf) - 1) break;   strncpy(&buf[len], argv[i], sizeof(buf) - len - 1); buf[sizeof(buf) - 1] = '\0';   len = strlen(buf);
quote1(initial, argc, argv)	const char *initial;	int argc;	char *argv[];{	int i, len;	char buf[BUFSIZ];		/* must be >= sizeof(line) */	(void)strncpy(buf, initial, sizeof(buf) - 1);	buf[sizeof(buf) - 1] = '\0';	if (argc > 1) {		len = strlen(buf);		len += strlen(strncpy(&buf[len], argv[1],		    sizeof(buf) - len - 1));		for (i = 2; i < argc && len < sizeof(buf); i++) {			buf[len++] = ' ';			len += strlen(strncpy(&buf[len], argv[i],			    sizeof(buf) - len - 1));		}	}	if (command(buf) == PRELIM) {		while (getreply(0) == PRELIM)			continue;	}}