=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ftp/small.c,v retrieving revision 1.11 retrieving revision 1.12 diff -c -r1.11 -r1.12 *** src/usr.bin/ftp/small.c 2019/05/16 12:44:18 1.11 --- src/usr.bin/ftp/small.c 2019/11/18 04:37:35 1.12 *************** *** 1,4 **** ! /* $OpenBSD: small.c,v 1.11 2019/05/16 12:44:18 florian Exp $ */ /* $NetBSD: cmds.c,v 1.27 1997/08/18 10:20:15 lukem Exp $ */ /* --- 1,4 ---- ! /* $OpenBSD: small.c,v 1.12 2019/11/18 04:37:35 deraadt Exp $ */ /* $NetBSD: cmds.c,v 1.27 1997/08/18 10:20:15 lukem Exp $ */ /* *************** *** 626,633 **** *cp1++ = *cp3++; } match = 1; ! } ! else if (toks[toknum = *cp2 - '1']) { char *cp3 = tp[toknum]; while (cp3 != te[toknum]) { --- 626,632 ---- *cp1++ = *cp3++; } match = 1; ! } else if (toks[toknum = *cp2 - '1']) { char *cp3 = tp[toknum]; while (cp3 != te[toknum]) { *************** *** 635,667 **** } match = 1; } ! } ! else { while (*cp2 && *cp2 != ',' && *cp2 != ']') { if (*cp2 == '\\') { cp2++; ! } ! else if (*cp2 == '$' && ! isdigit((unsigned char)*(cp2 + 1))) { if (*++cp2 == '0') { char *cp3 = name; while (*cp3) { *cp1++ = *cp3++; } ! } ! else if (toks[toknum = *cp2 - '1']) { ! char *cp3=tp[toknum]; ! while (cp3 != ! te[toknum]) { ! *cp1++ = *cp3++; ! } } ! } ! else if (*cp2) { *cp1++ = *cp2++; } } --- 634,662 ---- } match = 1; } ! } else { while (*cp2 && *cp2 != ',' && *cp2 != ']') { if (*cp2 == '\\') { cp2++; ! } else if (*cp2 == '$' && ! isdigit((unsigned char)*(cp2 + 1))) { if (*++cp2 == '0') { char *cp3 = name; while (*cp3) { *cp1++ = *cp3++; } ! } else if (toks[toknum = *cp2 - '1']) { ! char *cp3=tp[toknum]; ! while (cp3 != ! te[toknum]) { ! *cp1++ = *cp3++; ! } } ! } else if (*cp2) { *cp1++ = *cp2++; } } *************** *** 675,683 **** } if (match) { while (*++cp2 && *cp2 != ']') { ! if (*cp2 == '\\' && *(cp2 + 1)) { cp2++; ! } } if (!*cp2) { fputs( --- 670,678 ---- } if (match) { while (*++cp2 && *cp2 != ']') { ! if (*cp2 == '\\' && *(cp2 + 1)) { cp2++; ! } } if (!*cp2) { fputs( *************** *** 704,711 **** while (*cp3) { *cp1++ = *cp3++; } ! } ! else if (toks[toknum = *cp2 - '1']) { char *cp3 = tp[toknum]; while (cp3 != te[toknum]) { --- 699,705 ---- while (*cp3) { *cp1++ = *cp3++; } ! } else if (toks[toknum = *cp2 - '1']) { char *cp3 = tp[toknum]; while (cp3 != te[toknum]) {