confgen

Config parser generator
git clone git://git.finwo.net/app/confgen
Log | Files | Refs | LICENSE

main.c (880B)


      1 #include <stdlib.h>
      2 #include <stdio.h>
      3 #include <string.h>
      4 
      5 #include "util/buffer.h"
      6 
      7 int main(int argc, char *argv[]) {
      8   FILE *fp;
      9   size_t n;
     10 
     11   char *infile = "-";
     12   if (argc > 1) {
     13     infile = argv[1];
     14   }
     15 
     16   if (!strcmp(infile, "-")) {
     17     fp = stdin;
     18   } else {
     19     fp = fopen(infile, "r");
     20   }
     21   if (!fp) {
     22     perror("fopen");
     23     return EXIT_FAILURE;
     24   }
     25 
     26 
     27   struct confgen_buffer *ring = calloc(1, sizeof(struct confgen_buffer));
     28   char *intermediate          = malloc(BUFSIZ);
     29   while(!feof(fp)) {
     30     n = fread(intermediate, 1, BUFSIZ, fp);
     31     confgen_buffer_append(ring, intermediate, n);
     32   }
     33 
     34   printf("Stats:\n");
     35   printf("  alloc: %p\n" , ring->alloc);
     36   printf("  dat  : %p\n" , ring->dat);
     37   printf("  len  : %ld\n", ring->len);
     38   printf("  cap  : %ld\n", ring->cap);
     39   printf("  data : [%*s]\n", (int)(ring->len), ring->dat);
     40   printf("\n");
     41 
     42   return 0;
     43 }