version 1.17, 2009/10/27 23:59:41 |
version 1.18, 2010/08/12 05:02:52 |
|
|
int ch, seq; |
int ch, seq; |
|
|
seq = 0; |
seq = 0; |
while ((ch = getopt(argc, argv, "d:s")) != -1) |
while ((ch = getopt(argc, argv, "d:s")) != -1) { |
switch(ch) { |
switch (ch) { |
case 'd': |
case 'd': |
delimcnt = tr(delim = optarg); |
delimcnt = tr(delim = optarg); |
break; |
break; |
|
|
default: |
default: |
usage(); |
usage(); |
} |
} |
|
} |
argc -= optind; |
argc -= optind; |
argv += optind; |
argv += optind; |
|
|
|
|
putchar(ch); |
putchar(ch); |
continue; |
continue; |
} |
} |
if (*(buf + len - 1) == '\n') |
if (buf[len - 1] == '\n') |
*(buf + len - 1) = '\0'; |
buf[len - 1] = '\0'; |
else { |
else { |
if ((lbuf = malloc(len + 1)) == NULL) |
if ((lbuf = malloc(len + 1)) == NULL) |
err(1, "malloc"); |
err(1, "malloc"); |
|
|
} |
} |
if ((buf = fgetln(fp, &len))) { |
if ((buf = fgetln(fp, &len))) { |
for (cnt = 0, dp = delim;;) { |
for (cnt = 0, dp = delim;;) { |
if (*(buf + len - 1) == '\n') |
if (buf[len - 1] == '\n') |
*(buf + len - 1) = '\0'; |
buf[len - 1] = '\0'; |
else { |
else { |
if ((lbuf = malloc(len + 1)) == NULL) |
if ((lbuf = malloc(len + 1)) == NULL) |
err(1, "malloc"); |
err(1, "malloc"); |
|
|
int cnt; |
int cnt; |
char ch, *p; |
char ch, *p; |
|
|
for (p = arg, cnt = 0; (ch = *p++); ++arg, ++cnt) |
for (p = arg, cnt = 0; (ch = *p++); ++arg, ++cnt) { |
if (ch == '\\') |
if (ch == '\\') { |
switch(ch = *p++) { |
switch (ch = *p++) { |
case 'n': |
case 'n': |
*arg = '\n'; |
*arg = '\n'; |
break; |
break; |
|
|
default: |
default: |
*arg = ch; |
*arg = ch; |
break; |
break; |
|
} |
} else |
} else |
*arg = ch; |
*arg = ch; |
|
} |
|
|
if (!cnt) |
if (!cnt) |
errx(1, "no delimiters specified"); |
errx(1, "no delimiters specified"); |
return(cnt); |
return (cnt); |
} |
} |
|
|
void |
void |