Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #136070

Re: Counting lines of a file

From Ben Bacarisse <ben.usenet@bsb.me.uk>
Newsgroups comp.lang.c
Subject Re: Counting lines of a file
Date 2018-10-03 02:59 +0100
Organization A noiseless patient Spider
Message-ID <87o9cbu6xm.fsf@bsb.me.uk> (permalink)
References <pp0kts$b17$1@dont-email.me>

Show all headers | View raw


jacobnavia <jacob@jacob.remcomp.fr> writes:

> Unix has the "wc" utility to count the lines of a file. It is a pity
> that under linux that program is unusable to count lines in a
> hierarchy of several directories. It requires ZERO terminated file
> names, and the "find" utility produces \n terminated file names, so it
> is unusable for that.

Linux tools are generally designed to work together and so Linux find
has -print0 so that it can work safely with programs like xargs and wc.

> So, I decided to rewrite "wc" as "lc" (for Line Count")
>
> It took me a few hours, and I wanted to post the result here, since it
> is (maybe) a useful program, and the way I wrote it explain some
> opinions I have about software design.

Can you say more?  I'm not sure what these opinions are.

> Here it is:
> -----------------------------------------------cut here
> #include <stdio.h>
> #include <stdlib.h>
> #include <stdint.h>
> #include <string.h>
> /* Go through all file names and find out the longest one.
>    This allows to align results.
> */
> static int FindMaxFileNameLength(char *argv[])
> {
> 	int i,len;
> 	int Maxlen=-1;
> 	for (i=1; argv[i];i++) {

As a reader of the code, I am immediately puzzled about why element 0 is
not being looked at.  Why is that?

I see below that you start filling the array at element 1, but that is
never explained.  Even if starting at 1 is crucial to some other part of
the program, a general function like this one should not import that
assumption.

I'd pass in the number of array elements rather then relying on a NULL
sentinel because it would make this a more general function.  As it
happens, there's also a bug here in the the passed array does not always
have a NULL sentinel.

> 		len = strlen(argv[i]);
> 		if (len > Maxlen)
> 			Maxlen = len;
> 	}
> 	return Maxlen;
> }
>
> /* Copy the file name into the first n chars, starting at the leftmost */
> static void PadName(char *buf, char *name,int maxlen)
> {
> 	memset(buf,' ',maxlen);
> 	memcpy(buf,name,strlen(name));
> 	buf[maxlen]=0;
> }

I don't see the value of this function.  At first glance, it seens you
can get the same effect just with a printf field width.  Have I missed
something?

> #define CHUNKSIZE 4096
> static char ** ReadFromStdin(int *pargc)
> {
> 	// Assumption: No file name exceeds 4K +
> 	// space for the terminating zero
> 	char inbuf[4096+1];

You need to add another to allow a full-size 4K file name because of the
newline.  The read of a 4K name will work, but you will then see an
erroneous empty line in the next fgets.

> 	// An array holding the file names that will grow by chunks
> 	char **fileNameArray = calloc(CHUNKSIZE,sizeof(char *));
> 	int fileCount = 0; // Counts how many files allocated in this chunk
> 	int totalFileCount=1; //Index into the array. Note: starts at 1!

You ask the read to note the fact, but as far as a I can see you don't
explain it.

> 	char *p; // Used to eliminate the '\n'
> 	
> 	while (fgets(inbuf,sizeof(inbuf),stdin)) {
> 		fileNameArray[totalFileCount] = malloc(strlen(inbuf)+1);

I'd allocate the space once you know the length -- in most cases, you
are going to need one fewer characters.  It's not a big point, but it
seems odd to allocate first and then remove the newline.

More importantly this line will write outside the allocated array space
because of an off-by-one error in the reallocation logic below.

> 		if (fileNameArray[totalFileCount] == NULL)
> 			return NULL;
> 		// Eliminate the '\n'.
> 		// If we do not do this, fopen will fail
> 		p = strchr(inbuf,'\n');
> 		if (p) *p=0;
> 		strcpy(fileNameArray[totalFileCount],inbuf);
> 		fileCount++;
> 		totalFileCount++;
> 		if (fileCount >= CHUNKSIZE) {

You have an off-by one bug here.  It appears to be caused by the mystery
"starts at 1" initialisation of totalFileCount but since I don't know
the purpose of that, I'm reluctant to offer a fix.

> 			char **tmp = realloc(fileNameArray,
> 			(totalFileCount+CHUNKSIZE) * sizeof(char *));
> 			// If reallocation failed return NULL leaking
> 			// all the memory allocated
> 			// so far, assuming main will exit and OS will
> 			// reclaim memory
> 			if (tmp == NULL)
> 				return NULL;
> 			fileNameArray = tmp;

Now you have an array of pointers that does not necessarily have a
sentinel NULL pointer.  The original allocation was with calloc, and I
suspect you were relying on that to give you a NULL to terminate the
file name array.

In fact, even without the realloc, I can't see how the code ensures
there is always a NULL pointer at the end of the file name array.  The
other bug (where the array can be overfilled) is probably related to
this one.  Did you intend to initialise fileCount to 1 rather than
totalFileCount?

> 			fileCount = 0;
> 		}
> 	}
> 	*pargc = totalFileCount;
> 	return fileNameArray;
> }
>
> int main(int argc,char *argv[])
> {
> 	int fileCount=0;
> 	int c;
> 	int titleHasBeenWritten = 0;
> 	int maxlen;
> 	int32_t lines=0;
> 	int64_t bytes=0;
> 	int64_t totalLines=0;
> 	int64_t totalBytes=0;
> 	char *PaddedFileName;
>
> 	// If called with no arguments print a usage message and exit */
> 	if (argc < 2) {
> 		fprintf(stderr,"Usage: lc <files>\n or\nlc -\n");
> 		return EXIT_FAILURE;
> 	}
>
> 	/* If there is only one argument, and it is just a dash  - ,
>           it means that the file names should be read from standard 	
> 	  input */
> 	if (argc == 2 && !strcmp(argv[1],"-")) {
> 		argv = ReadFromStdin(&argc);
> 		if (argv == NULL) {
> nomem:
> 			fprintf(stderr,"No more memory\n");
> 			exit(EXIT_FAILURE);
> 		}
> 	}
> 	maxlen = FindMaxFileNameLength(argv);
> 	// If we want to write the totals we should reserve at
>         // least 5 chars to write
> 	// the word "Total" (5 characters)
> 	if (maxlen < 5) maxlen = 5;
> 	PaddedFileName = calloc(1,maxlen+1);
> 	if (PaddedFileName == NULL) {
> 		goto nomem;
> 	}
> 	PadName(PaddedFileName,"File",maxlen);
> 	
> 	for (fileCount=1; argv[fileCount]; fileCount++) {
> 		FILE *infile = fopen(argv[fileCount],"rb");
> 		if (infile == NULL) {
> 			fprintf(stderr,
> 			"Impossible to open %s\n",argv[fileCount]);
> 			continue;
> 		}
> 		c = fgetc(infile);
> 		while (c != EOF) {
> 			bytes++;
> 			if (c == '\n')
> 				lines++;
> 			c = fgetc(infile);
> 		}

I prefer the while ((c = fgetc(infile)) != EOF) form but that's just a
style detail.

> 		totalBytes += bytes;
> 		totalLines += lines;
> 		if (!titleHasBeenWritten) {
> 			printf("%s %9s | %8s\n",
> 				PaddedFileName," Bytes","Lines");
> 			titleHasBeenWritten = 1;
> 		}

You always know if the header is going to be written since you have a
total file name count so I'd just move this code out of the loop.

> 		PadName(PaddedFileName,argv[fileCount],maxlen);
> 		printf("%s:%9d | %8d \n",PaddedFileName,bytes,lines);

The format mismatch has already been mentioned.

> 		bytes = lines = 0;
> 		fclose(infile);
> 	}
> 	if (fileCount > 2) {
> 		PadName(PaddedFileName,"Total",maxlen);
> 		printf("%s %9d | %8d\n",
> 				PaddedFileName,totalBytes,totalLines);
> 	}
> 	return EXIT_SUCCESS;

It's debatable whether it's correct to signal success when one or more
of the files might not have been read.  Sure, there will be a message on
stderr, but return codes are so very useful in scripts that I try to
make sure they are as informative as possible.

> }

-- 
Ben.

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Counting lines of a file jacobnavia <jacob@jacob.remcomp.fr> - 2018-10-02 22:37 +0200
  Re: Counting lines of a file Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2018-10-02 16:45 -0400
    Re: Counting lines of a file Ian Collins <ian-news@hotmail.com> - 2018-10-03 09:51 +1300
      Re: Counting lines of a file jacobnavia <jacob@jacob.remcomp.fr> - 2018-10-02 22:55 +0200
        Re: Counting lines of a file Keith Thompson <kst-u@mib.org> - 2018-10-02 14:31 -0700
          Re: Counting lines of a file jacobnavia <jacob@jacob.remcomp.fr> - 2018-10-02 23:39 +0200
            Re: Counting lines of a file Keith Thompson <kst-u@mib.org> - 2018-10-02 16:39 -0700
              Re: Counting lines of a file jacobnavia <jacob@jacob.remcomp.fr> - 2018-10-03 08:49 +0200
                Re: Counting lines of a file Keith Thompson <kst-u@mib.org> - 2018-10-03 11:46 -0700
      Re: Counting lines of a file scott@slp53.sl.home (Scott Lurndal) - 2018-10-02 21:04 +0000
        Re: Counting lines of a file dave_thompson_2@comcast.net - 2018-12-14 17:52 -0500
          Re: Counting lines of a file Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-12-15 08:14 +0000
      Re: Counting lines of a file Nick Bowler <nbowler@draconx.ca> - 2018-10-02 21:24 +0000
        Re: Counting lines of a file jacobnavia <jacob@jacob.remcomp.fr> - 2018-10-02 23:32 +0200
          Re: Counting lines of a file queequeg@trust.no1 (Queequeg) - 2018-10-03 10:44 +0000
            Re: Counting lines of a file jacobnavia <jacob@jacob.remcomp.fr> - 2018-10-03 13:17 +0200
          Re: Counting lines of a file David Brown <david.brown@hesbynett.no> - 2018-10-03 14:35 +0200
      Re: Counting lines of a file Keith Thompson <kst-u@mib.org> - 2018-10-02 14:25 -0700
    Re: Counting lines of a file jacobnavia <jacob@jacob.remcomp.fr> - 2018-10-02 22:54 +0200
    Re: Counting lines of a file jacobnavia <jacob@jacob.remcomp.fr> - 2018-10-02 23:43 +0200
      Re: Counting lines of a file Andreas Perstinger <andipersti@gmail.com> - 2018-10-05 11:35 +0000
  Re: Counting lines of a file Nick Bowler <nbowler@draconx.ca> - 2018-10-02 20:56 +0000
    Re: Counting lines of a file jacobnavia <jacob@jacob.remcomp.fr> - 2018-10-02 23:00 +0200
      Re: Counting lines of a file Nick Bowler <nbowler@draconx.ca> - 2018-10-02 21:13 +0000
        Re: Counting lines of a file jacobnavia <jacob@jacob.remcomp.fr> - 2018-10-02 23:28 +0200
          Re: Counting lines of a file queequeg@trust.no1 (Queequeg) - 2018-10-03 10:48 +0000
            Re: Counting lines of a file Bart <bc@freeuk.com> - 2018-10-03 12:07 +0100
              Re: Counting lines of a file David Brown <david.brown@hesbynett.no> - 2018-10-03 14:49 +0200
                Re: Counting lines of a file Bart <bc@freeuk.com> - 2018-10-03 14:25 +0100
                Re: Counting lines of a file David Brown <david.brown@hesbynett.no> - 2018-10-03 16:05 +0200
                Re: Counting lines of a file scott@slp53.sl.home (Scott Lurndal) - 2018-10-03 14:17 +0000
                Re: Counting lines of a file Bart <bc@freeuk.com> - 2018-10-03 16:53 +0100
                Re: Counting lines of a file scott@slp53.sl.home (Scott Lurndal) - 2018-10-03 16:07 +0000
                Re: Counting lines of a file David Brown <david.brown@hesbynett.no> - 2018-10-04 15:12 +0200
                Re: Counting lines of a file Keith Thompson <kst-u@mib.org> - 2018-10-03 11:23 -0700
                Re: Counting lines of a file jacobnavia <jacob@jacob.remcomp.fr> - 2018-10-03 20:42 +0200
                Re: Counting lines of a file Keith Thompson <kst-u@mib.org> - 2018-10-03 12:03 -0700
                Re: Counting lines of a file jacobnavia <jacob@jacob.remcomp.fr> - 2018-10-03 21:45 +0200
                Re: Counting lines of a file Ian Collins <ian-news@hotmail.com> - 2018-10-04 08:52 +1300
                Re: Counting lines of a file Keith Thompson <kst-u@mib.org> - 2018-10-03 13:26 -0700
                Re: Counting lines of a file David Brown <david.brown@hesbynett.no> - 2018-10-04 15:37 +0200
                Re: Counting lines of a file Bart <bc@freeuk.com> - 2018-10-04 15:06 +0100
                Re: Counting lines of a file David Brown <david.brown@hesbynett.no> - 2018-10-04 21:48 +0200
                Re: Counting lines of a file David Brown <david.brown@hesbynett.no> - 2018-10-04 15:28 +0200
                Re: Counting lines of a file gazelle@shell.xmission.com (Kenny McCormack) - 2018-10-04 14:16 +0000
                Re: Counting lines of a file Keith Thompson <kst-u@mib.org> - 2018-10-04 11:09 -0700
                Re: Counting lines of a file David Brown <david.brown@hesbynett.no> - 2018-10-04 22:00 +0200
                Re: Counting lines of a file Bart <bc@freeuk.com> - 2018-10-04 21:18 +0100
                Re: Counting lines of a file scott@slp53.sl.home (Scott Lurndal) - 2018-10-04 20:28 +0000
                Re: Counting lines of a file Bart <bc@freeuk.com> - 2018-10-04 21:59 +0100
                Re: Counting lines of a file scott@slp53.sl.home (Scott Lurndal) - 2018-10-04 21:10 +0000
                Re: Counting lines of a file Keith Thompson <kst-u@mib.org> - 2018-10-04 15:53 -0700
                Re: Counting lines of a file Bart <bc@freeuk.com> - 2018-10-05 00:09 +0100
                Re: Counting lines of a file Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-05 02:06 +0100
                Re: Counting lines of a file jacobnavia <jacob@jacob.remcomp.fr> - 2018-10-04 22:40 +0200
                Re: Counting lines of a file scott@slp53.sl.home (Scott Lurndal) - 2018-10-04 21:13 +0000
                Re: Counting lines of a file Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-04 23:09 +0100
                Re: Counting lines of a file jacobnavia <jacob@jacob.remcomp.fr> - 2018-10-05 07:47 +0200
                Re: Counting lines of a file David Brown <david.brown@hesbynett.no> - 2018-10-05 09:44 +0200
                Re: Counting lines of a file jacobnavia <jacob@jacob.remcomp.fr> - 2018-10-05 12:41 +0200
                Re: Counting lines of a file David Brown <david.brown@hesbynett.no> - 2018-10-05 16:01 +0200
                Re: Counting lines of a file Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-10-22 13:58 +0000
                Re: Counting lines of a file David Brown <david.brown@hesbynett.no> - 2018-10-22 16:44 +0200
                Re: Counting lines of a file jadill33@gmail.com - 2018-10-08 09:10 -0700
                Re: Counting lines of a file Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-05 13:17 +0100
                Re: Counting lines of a file already5chosen@yahoo.com - 2018-10-03 11:34 -0700
            Re: Counting lines of a file jacobnavia <jacob@jacob.remcomp.fr> - 2018-10-03 13:14 +0200
              Re: Counting lines of a file Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-04 00:59 +0100
                Re: Counting lines of a file jacobnavia <jacob@jacob.remcomp.fr> - 2018-10-04 08:57 +0200
                Re: Counting lines of a file Ian Collins <ian-news@hotmail.com> - 2018-10-04 20:05 +1300
                Re: Counting lines of a file Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-04 10:58 +0100
                Re: Counting lines of a file Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-10-04 04:06 -0700
                Re: Counting lines of a file Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-04 15:35 +0100
                Re: Counting lines of a file Bart <bc@freeuk.com> - 2018-10-04 11:48 +0100
                Re: Counting lines of a file Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-04 15:30 +0100
              Re: Counting lines of a file queequeg@trust.no1 (Queequeg) - 2018-10-04 21:35 +0000
                Re: Counting lines of a file jacobnavia <jacob@jacob.remcomp.fr> - 2018-10-05 07:35 +0200
          Re: Counting lines of a file Ike Naar <ike@sdf.lonestar.org> - 2018-10-06 23:56 +0000
            Re: Counting lines of a file jacobnavia <jacob@jacob.remcomp.fr> - 2018-10-07 09:13 +0200
              Re: Counting lines of a file Ike Naar <ike@iceland.freeshell.org> - 2018-10-11 22:14 +0000
                Re: Counting lines of a file Ralf Damaschke <rwspam@gmx.de> - 2018-10-11 23:14 +0000
              Re: Counting lines of a file antispam@math.uni.wroc.pl - 2018-12-17 20:17 +0000
  Re: Counting lines of a file Keith Thompson <kst-u@mib.org> - 2018-10-02 13:59 -0700
    Re: Counting lines of a file Bart <bc@freeuk.com> - 2018-10-02 23:07 +0100
      Re: Counting lines of a file Bart <bc@freeuk.com> - 2018-10-03 00:08 +0100
      Re: Counting lines of a file Keith Thompson <kst-u@mib.org> - 2018-10-02 16:51 -0700
  Re: Counting lines of a file "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-02 17:47 -0400
    Re: Counting lines of a file Anton Shepelev <anton.txt@g{oogle}mail.com> - 2018-10-03 11:57 +0300
      Re: Counting lines of a file James Kuyper <jameskuyper@alumni.caltech.edu> - 2018-10-03 06:30 -0400
        Re: Counting lines of a file Anton Shepelev <anton.txt@g{oogle}mail.com> - 2018-10-03 15:37 +0300
      Re: Counting lines of a file "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-03 05:20 -0700
        Re: Counting lines of a file "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-03 05:33 -0700
          Re: Counting lines of a file "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-03 05:55 -0700
          Re: Counting lines of a file Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-03 22:33 +0100
            Re: Counting lines of a file "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-03 17:43 -0400
              Re: Counting lines of a file Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-04 02:49 +0100
                Re: Counting lines of a file "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-03 22:06 -0400
                Re: Counting lines of a file gazelle@shell.xmission.com (Kenny McCormack) - 2018-10-04 05:20 +0000
                Re: Counting lines of a file already5chosen@yahoo.com - 2018-10-04 02:45 -0700
                Re: Counting lines of a file Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-04 14:42 +0100
                Re: Counting lines of a file Bart <bc@freeuk.com> - 2018-10-04 11:27 +0100
                Re: Counting lines of a file already5chosen@yahoo.com - 2018-10-04 03:40 -0700
                Re: Counting lines of a file Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-04 15:17 +0100
                Re: Counting lines of a file Bart <bc@freeuk.com> - 2018-10-04 18:13 +0100
                Re: Counting lines of a file scott@slp53.sl.home (Scott Lurndal) - 2018-10-04 17:47 +0000
                Re: Counting lines of a file Bart <bc@freeuk.com> - 2018-10-04 20:49 +0100
                Re: Counting lines of a file nobody@example.org (Scott) - 2018-10-05 16:52 +0000
                Re: Counting lines of a file Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-05 01:49 +0100
                Re: Counting lines of a file Bart <bc@freeuk.com> - 2018-10-05 12:08 +0100
                Re: Counting lines of a file Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-06 03:24 +0100
                Re: Counting lines of a file Spiros Bousbouras <spibou@gmail.com> - 2018-10-06 03:47 +0000
                Re: Counting lines of a file Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-06 14:41 +0100
                Re: Counting lines of a file Spiros Bousbouras <spibou@gmail.com> - 2018-10-06 15:05 +0000
                Re: Counting lines of a file Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-06 20:08 +0100
                Re: Counting lines of a file Bart <bc@freeuk.com> - 2018-10-06 13:02 +0100
                Re: Counting lines of a file Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-06 15:51 +0100
                Re: Counting lines of a file Bart <bc@freeuk.com> - 2018-10-06 17:15 +0100
                Re: Counting lines of a file Keith Thompson <kst-u@mib.org> - 2018-10-06 13:22 -0700
                Re: Counting lines of a file Bart <bc@freeuk.com> - 2018-10-06 22:27 +0100
                Re: Counting lines of a file Ian Collins <ian-news@hotmail.com> - 2018-10-07 11:55 +1300
                Re: Counting lines of a file Bart <bc@freeuk.com> - 2018-10-07 00:02 +0100
                Re: Counting lines of a file Ian Collins <ian-news@hotmail.com> - 2018-10-07 12:10 +1300
                Re: Counting lines of a file Bart <bc@freeuk.com> - 2018-10-07 01:33 +0100
                Re: Counting lines of a file mark.bluemel@gmail.com - 2018-10-08 01:33 -0700
                Re: Counting lines of a file Bart <bc@freeuk.com> - 2018-10-08 12:20 +0100
                Re: Counting lines of a file Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-06 21:51 +0100
                Re: Counting lines of a file already5chosen@yahoo.com - 2018-10-06 12:52 -0700
                Re: Counting lines of a file already5chosen@yahoo.com - 2018-10-06 13:01 -0700
                Re: Counting lines of a file Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-06 22:01 +0100
                Re: Counting lines of a file Keith Thompson <kst-u@mib.org> - 2018-10-06 13:17 -0700
                Re: Counting lines of a file antispam@math.uni.wroc.pl - 2018-12-17 20:50 +0000
                Re: Counting lines of a file Anton Shepelev <anton.txt@gmail.com> - 2018-10-05 23:09 +0300
                Re: Counting lines of a file Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-10-06 04:02 -0700
                Re: Counting lines of a file Anton Shepelev <anton.txt@gmail.com> - 2018-10-07 00:29 +0300
              Re: Counting lines of a file scott@slp53.sl.home (Scott Lurndal) - 2018-10-04 13:22 +0000
                Re: Counting lines of a file "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-04 08:00 -0700
                Re: Counting lines of a file scott@slp53.sl.home (Scott Lurndal) - 2018-10-04 15:30 +0000
                Re: Counting lines of a file "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-04 08:34 -0700
                Re: Counting lines of a file Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-10-04 09:27 -0700
                Re: Counting lines of a file "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-04 11:04 -0700
            Re: Counting lines of a file Bart <bc@freeuk.com> - 2018-10-03 22:50 +0100
              Re: Counting lines of a file Ian Collins <ian-news@hotmail.com> - 2018-10-04 11:30 +1300
              Re: Counting lines of a file Keith Thompson <kst-u@mib.org> - 2018-10-03 15:41 -0700
                Re: Counting lines of a file Bart <bc@freeuk.com> - 2018-10-04 00:46 +0100
                Re: Counting lines of a file Ian Collins <ian-news@hotmail.com> - 2018-10-04 13:01 +1300
                Re: Counting lines of a file Bart <bc@freeuk.com> - 2018-10-04 01:22 +0100
                Re: Counting lines of a file Ian Collins <ian-news@hotmail.com> - 2018-10-04 13:39 +1300
                Re: Counting lines of a file Keith Thompson <kst-u@mib.org> - 2018-10-03 18:23 -0700
        Re: Counting lines of a file Bart <bc@freeuk.com> - 2018-10-03 13:33 +0100
          Re: Counting lines of a file Anton Shepelev <anton.txt@g{oogle}mail.com> - 2018-10-03 15:40 +0300
          Re: Counting lines of a file "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-03 05:57 -0700
            Re: Counting lines of a file Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-03 22:19 +0100
  Re: Counting lines of a file Ian Collins <ian-news@hotmail.com> - 2018-10-03 11:25 +1300
    Re: Counting lines of a file "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-02 18:56 -0400
      Re: Counting lines of a file Anton Shepelev <anton.txt@g{oogle}mail.com> - 2018-10-03 12:11 +0300
        Re: Counting lines of a file Ian Collins <ian-news@hotmail.com> - 2018-10-03 23:06 +1300
          Re: Counting lines of a file Anton Shepelev <ant0n.txt@gmai1.c0m> - 2018-10-03 14:58 +0300
            Re: Counting lines of a file Ian Collins <ian-news@hotmail.com> - 2018-10-04 08:08 +1300
        Re: Counting lines of a file "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-03 05:06 -0700
          Re: Counting lines of a file Anton Shepelev <anton.txt@g{oogle}mail.com> - 2018-10-03 15:13 +0300
            Re: Counting lines of a file "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-03 05:26 -0700
  Re: Counting lines of a file Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-03 02:59 +0100
    Re: Counting lines of a file jacobnavia <jacob@jacob.remcomp.fr> - 2018-10-03 08:57 +0200
    Re: Counting lines of a file jacobnavia <jacob@jacob.remcomp.fr> - 2018-10-03 08:59 +0200
      Re: Counting lines of a file Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-03 21:54 +0100
        Re: Counting lines of a file jacobnavia <jacob@jacob.remcomp.fr> - 2018-10-03 23:26 +0200
          Re: Counting lines of a file Bart <bc@freeuk.com> - 2018-10-03 22:41 +0100
          Re: Counting lines of a file Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-04 02:23 +0100
        Re: Counting lines of a file Keith Thompson <kst-u@mib.org> - 2018-10-03 14:59 -0700
          Re: Counting lines of a file Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-04 03:04 +0100
    Re: Counting lines of a file jacobnavia <jacob@jacob.remcomp.fr> - 2018-10-03 09:01 +0200
      Re: Counting lines of a file Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-03 22:01 +0100
  Re: Counting lines of a file jacobnavia <jacob@jacob.remcomp.fr> - 2018-10-03 21:44 +0200
    Re: Counting lines of a file "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-10-03 15:48 -0400
  Re: Counting lines of a file Anton Shepelev <anton.txt@gmail.com> - 2018-10-03 23:15 +0300
    Re: Counting lines of a file Keith Thompson <kst-u@mib.org> - 2018-10-03 13:35 -0700
      Re: Counting lines of a file Anton Shepelev <anton.txt@gmail.com> - 2018-10-04 00:14 +0300
        Re: Counting lines of a file Bart <bc@freeuk.com> - 2018-10-03 23:15 +0100
          Re: Counting lines of a file Anton Shepelev <anton.txt@gmail.com> - 2018-10-04 23:28 +0300
        Re: Counting lines of a file James Kuyper <jameskuyper@alumni.caltech.edu> - 2018-10-03 19:39 -0400
          Re: Counting lines of a file Nick Bowler <nbowler@draconx.ca> - 2018-10-04 15:31 +0000
    Re: Counting lines of a file Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-04 01:05 +0100
  Re: Counting lines of a file jacobnavia <jacob@jacob.remcomp.fr> - 2018-10-04 14:04 +0200
    Re: Counting lines of a file Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-10-04 15:48 +0100
  Re: Counting lines of a file jacobnavia <jacob@jacob.remcomp.fr> - 2018-10-05 18:29 +0200
  Re: Counting lines of a file Joey Pabalinas <joeypabalinas@gmail.com> - 2018-12-16 07:50 -1000
    Re: Counting lines of a file Joey Pabalinas <joeypabalinas@gmail.com> - 2018-12-16 07:54 -1000
    Re: Counting lines of a file rbowman <bowman@montana.com> - 2018-12-16 12:51 -0700
      Re: Counting lines of a file Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-12-16 20:51 +0000
        Re: Counting lines of a file rbowman <bowman@montana.com> - 2018-12-16 14:40 -0700
          Re: Counting lines of a file Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-12-16 21:50 +0000
            Re: Counting lines of a file Keith Thompson <kst-u@mib.org> - 2018-12-16 15:38 -0800
            Re: Counting lines of a file rbowman <bowman@montana.com> - 2018-12-16 20:29 -0700
              Re: Counting lines of a file Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-12-18 21:03 +0000
      Re: Counting lines of a file Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-12-16 21:17 +0000
      Re: Counting lines of a file Joey Pabalinas <joeypabalinas@gmail.com> - 2018-12-16 17:13 -1000
        Re: Counting lines of a file rbowman <bowman@montana.com> - 2018-12-16 23:11 -0700
          Re: Counting lines of a file Joey Pabalinas <joeypabalinas@gmail.com> - 2018-12-16 22:05 -1000
          Re: Counting lines of a file Keith Thompson <kst-u@mib.org> - 2018-12-17 11:52 -0800
            Re: Counting lines of a file luser droog <luser.droog@gmail.com> - 2018-12-17 16:01 -0800
              Re: Counting lines of a file Keith Thompson <kst-u@mib.org> - 2018-12-17 17:35 -0800
                Re: Counting lines of a file fir <profesor.fir@gmail.com> - 2018-12-19 15:54 -0800
              Re: Counting lines of a file rbowman <bowman@montana.com> - 2018-12-17 20:01 -0700
              Re: Counting lines of a file Ike Naar <ike@iceland.freeshell.org> - 2018-12-18 07:44 +0000
                Re: Counting lines of a file nobody@example.org (Scott) - 2018-12-18 09:29 +0000
                Re: Counting lines of a file David Brown <david.brown@hesbynett.no> - 2018-12-18 13:18 +0100
              Re: Counting lines of a file James Kuyper <jameskuyper@alumni.caltech.edu> - 2018-12-18 06:10 -0800
                Re: Counting lines of a file rbowman <bowman@montana.com> - 2018-12-18 08:12 -0700
            Re: Counting lines of a file "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2018-12-19 07:47 -0800
    Re: Counting lines of a file Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-12-16 20:41 +0000
    Re: Counting lines of a file scott@slp53.sl.home (Scott Lurndal) - 2018-12-17 15:18 +0000

csiph-web