=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/paste/paste.c,v retrieving revision 1.17 retrieving revision 1.18 diff -c -r1.17 -r1.18 *** src/usr.bin/paste/paste.c 2009/10/27 23:59:41 1.17 --- src/usr.bin/paste/paste.c 2010/08/12 05:02:52 1.18 *************** *** 1,4 **** ! /* $OpenBSD: paste.c,v 1.17 2009/10/27 23:59:41 deraadt Exp $ */ /* * Copyright (c) 1989 The Regents of the University of California. --- 1,4 ---- ! /* $OpenBSD: paste.c,v 1.18 2010/08/12 05:02:52 tedu Exp $ */ /* * Copyright (c) 1989 The Regents of the University of California. *************** *** 58,65 **** int ch, seq; seq = 0; ! while ((ch = getopt(argc, argv, "d:s")) != -1) ! switch(ch) { case 'd': delimcnt = tr(delim = optarg); break; --- 58,65 ---- int ch, seq; seq = 0; ! while ((ch = getopt(argc, argv, "d:s")) != -1) { ! switch (ch) { case 'd': delimcnt = tr(delim = optarg); break; *************** *** 70,75 **** --- 70,76 ---- default: usage(); } + } argc -= optind; argv += optind; *************** *** 135,142 **** putchar(ch); continue; } ! if (*(buf + len - 1) == '\n') ! *(buf + len - 1) = '\0'; else { if ((lbuf = malloc(len + 1)) == NULL) err(1, "malloc"); --- 136,143 ---- putchar(ch); continue; } ! if (buf[len - 1] == '\n') ! buf[len - 1] = '\0'; else { if ((lbuf = malloc(len + 1)) == NULL) err(1, "malloc"); *************** *** 183,190 **** } if ((buf = fgetln(fp, &len))) { for (cnt = 0, dp = delim;;) { ! if (*(buf + len - 1) == '\n') ! *(buf + len - 1) = '\0'; else { if ((lbuf = malloc(len + 1)) == NULL) err(1, "malloc"); --- 184,191 ---- } if ((buf = fgetln(fp, &len))) { for (cnt = 0, dp = delim;;) { ! if (buf[len - 1] == '\n') ! buf[len - 1] = '\0'; else { if ((lbuf = malloc(len + 1)) == NULL) err(1, "malloc"); *************** *** 217,225 **** int cnt; char ch, *p; ! for (p = arg, cnt = 0; (ch = *p++); ++arg, ++cnt) ! if (ch == '\\') ! switch(ch = *p++) { case 'n': *arg = '\n'; break; --- 218,226 ---- int cnt; char ch, *p; ! for (p = arg, cnt = 0; (ch = *p++); ++arg, ++cnt) { ! if (ch == '\\') { ! switch (ch = *p++) { case 'n': *arg = '\n'; break; *************** *** 232,243 **** default: *arg = ch; break; } else *arg = ch; if (!cnt) errx(1, "no delimiters specified"); ! return(cnt); } void --- 233,246 ---- default: *arg = ch; break; + } } else *arg = ch; + } if (!cnt) errx(1, "no delimiters specified"); ! return (cnt); } void