lsflib/src/tokenchar.c
author Markus Brökers <mbroeker@largo.homelinux.org>
Tue, 17 Aug 2010 18:57:57 +0200
changeset 139 cb1d3f4cf18e
parent 77 49e0babccb23
permissions -rw-r--r--
execve returns a value on error and this catches it

/**
 * lsflib/src/tokenchar.c
 * Copyright (C) 2008 Markus Broeker
 */

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <ctype.h>
#include <string.h>

#define MAXCHARS 80

int tokenchar (FILE * f)
{
    char line[MAXCHARS];

    int i;
    int lines;
    int chars;

    lines = chars = 0;
    *line = 0;

    while ((fgets (line, MAXCHARS, f)) != NULL) {
        for (i = 0; i < strlen (line); i++) {
            switch (line[i]) {
            case '.':
                printf ("%c\n", line[i]);
                lines++;
                break;

            case '?':
                printf ("%c\n", line[i]);
                lines++;
                break;

            case '\n':
                lines++;
                break;

            case '\t':
                break;

            default:
                printf ("UNKNOWN CHAR: %c\n", line[i]);
                chars++;
                break;
            }
        }
        *line = 0;
    }

    rewind (f);
    return chars;
}