version 1.23, 2006/06/01 09:00:50 |
version 1.24, 2006/06/01 09:45:05 |
|
|
getgoal(struct line *dlp) |
getgoal(struct line *dlp) |
{ |
{ |
int c, i, col = 0; |
int c, i, col = 0; |
|
char tmp[5]; |
|
|
|
|
for (i = 0; i < llength(dlp); i++) { |
for (i = 0; i < llength(dlp); i++) { |
c = lgetc(dlp, i); |
c = lgetc(dlp, i); |
if (c == '\t' |
if (c == '\t' |
|
|
} else if (isprint(c)) |
} else if (isprint(c)) |
col++; |
col++; |
else { |
else { |
char tmp[5]; |
col += snprintf(tmp, sizeof(tmp), "\\%o", c); |
|
|
snprintf(tmp, sizeof(tmp), "\\%o", c); |
|
col += strlen(tmp); |
|
} |
} |
if (col > curgoal) |
if (col > curgoal) |
break; |
break; |
|
|
if (!(f & FFARG)) { |
if (!(f & FFARG)) { |
if ((bufp = eread("Goto line: ", buf, sizeof(buf), |
if ((bufp = eread("Goto line: ", buf, sizeof(buf), |
EFNUL | EFNEW | EFCR)) == NULL) |
EFNUL | EFNEW | EFCR)) == NULL) |
|
return (ABORT); |
|
if (bufp[0] == '\0') |
return (ABORT); |
return (ABORT); |
n = (int)strtonum(buf, INT_MIN, INT_MAX, &err); |
n = (int)strtonum(buf, INT_MIN, INT_MAX, &err); |
if (err) { |
if (err) { |