version 1.9, 2003/06/03 02:56:10 |
version 1.10, 2003/06/10 22:20:47 |
|
|
void usage(void); |
void usage(void); |
|
|
int |
int |
main(argc, argv) |
main(int argc, char *argv[]) |
int argc; |
|
char *argv[]; |
|
{ |
{ |
struct stat sb; |
struct stat sb; |
int ch, fd, termchar; |
int ch, fd, termchar; |
|
|
} |
} |
|
|
int |
int |
look(string, front, back) |
look(char *string, char *front, char *back) |
char *string, *front, *back; |
|
{ |
{ |
int ch; |
int ch; |
char *readp, *writep; |
char *readp, *writep; |
|
|
while (p < back && *p++ != '\n'); |
while (p < back && *p++ != '\n'); |
|
|
char * |
char * |
binary_search(string, front, back) |
binary_search(char *string, char *front, char *back) |
char *string, *front, *back; |
|
{ |
{ |
char *p; |
char *p; |
|
|
|
|
* o front is before or at the first line to be printed. |
* o front is before or at the first line to be printed. |
*/ |
*/ |
char * |
char * |
linear_search(string, front, back) |
linear_search(char *string, char *front, char *back) |
char *string, *front, *back; |
|
{ |
{ |
while (front < back) { |
while (front < back) { |
switch (compare(string, front, back)) { |
switch (compare(string, front, back)) { |
|
|
* Print as many lines as match string, starting at front. |
* Print as many lines as match string, starting at front. |
*/ |
*/ |
void |
void |
print_from(string, front, back) |
print_from(char *string, char *front, char *back) |
char *string, *front, *back; |
|
{ |
{ |
for (; front < back && compare(string, front, back) == EQUAL; ++front) { |
for (; front < back && compare(string, front, back) == EQUAL; ++front) { |
for (; front < back && *front != '\n'; ++front) |
for (; front < back && *front != '\n'; ++front) |
|
|
* "back" terminated). |
* "back" terminated). |
*/ |
*/ |
int |
int |
compare(s1, s2, back) |
compare(char *s1, char *s2, char *back) |
char *s1, *s2, *back; |
|
{ |
{ |
int ch; |
int ch; |
|
|
|
|
} |
} |
|
|
void |
void |
usage() |
usage(void) |
{ |
{ |
(void)fprintf(stderr, "usage: look [-df] [-t char] string [file]\n"); |
(void)fprintf(stderr, "usage: look [-df] [-t char] string [file]\n"); |
exit(2); |
exit(2); |