[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Proposal: cpuinfo(1)



Hi,

	First, a nit:
======================================================================
static void
grep_cputypes(const char *prefix, int len)
======================================================================

Should be
======================================================================
static void
grep_cputypes(const char *prefix, size_t len)
======================================================================

	Just a nit, but it silences the warning:
======================================================================
cc -ansi -pedantic -Wall -W -Wtraditional -Wconversion -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -fshort-enums -fno-common -Dgets=DONT_USE_GETS -Dlint -Woverloaded-virtual -Wnested-externs -Winline -O2 -D_XOPEN_SOURCE=600   -c -o arch_i386.o arch_i386.c
arch_i386.c: In function `grep_cputypes':
arch_i386.c:23: warning: passing arg 3 of `strncmp' as unsigned due to prototype
======================================================================

	Secondly, why are you passing the length explicitly in the
 call to grep_cputypes? The following implementation removes the
 requirement (and I often miscount, in my old age.
======================================================================
static void
grep_cputypes(const char *prefix)
{
        FILE *f;
        char buf[LINE_MAX];
        int n = 0;

        f = fopen(_PATH_CPUINFO, "r");
        if (f) {
                while (fgets(buf, sizeof(buf), f)) {
                        if (!strncmp(buf, prefix, strlen(prefix))) {
                                printf("cpu%d: %s", n++, (buf+len+3));
                        }
                }
                fclose(f);
        }
        if (!n) {
                printf("unknown\n");
        }
}
======================================================================


	Am I missing a reason to allow the caller to specify a subset
 of the prefix as relevant for comparison?

	manoj
        
-- 
 You should never wear your best trousers when you go out to fight for
 freedom and liberty. Henrik Ibsen
Manoj Srivastava   <srivasta@acm.org>  <http://www.datasync.com/%7Esrivasta/>
1024R/C7261095 print CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C



Reply to: