Diff for /libaitio/example/test_aio.c between versions 1.1 and 1.2

version 1.1, 2012/08/01 09:20:04 version 1.2, 2012/08/02 00:47:46
Line 0 Line 1
   #include <stdio.h>
   #include <string.h>
   #include <unistd.h>
   #include <fcntl.h>
   #include <aitio.h>
   
   
   int
   main(int argc, char **argv)
   {
           int f, ret, i;
           char buf[BUFSIZ];
           struct iovec iv[3];
   
           iv[0].iov_len = 10;
           iv[0].iov_base = io_malloc(iv[0].iov_len);
           iv[0].iov_len--;
           iv[1].iov_len = 2;
           iv[1].iov_base = io_malloc(iv[1].iov_len);
           iv[1].iov_len--;
           iv[2].iov_len = 20;
           iv[2].iov_base = io_malloc(iv[2].iov_len);
           iv[2].iov_len--;
   
           f = open("test_aio.dat", O_CREAT | O_RDWR | O_TRUNC, 0644);
           if (f == -1) {
                   perror("open");
                   return 1;
           }
   
           while (!feof(stdin)) {
                   memset(buf, 0, sizeof buf);
                   fgets(buf, sizeof buf, stdin);
                   printf("io_write=%d\n", (ret = io_write(f, buf, strlen(buf))));
                   if (ret == -1) {
                           ioLIBERR(io);
                           return 2;
                   }
           }
   
           memset(buf, 0, sizeof buf);
           printf("io_read=%d\n", (ret = io_rread(f, buf, sizeof buf, 0, 0)));
           if (ret == -1) {
                   ioLIBERR(io);
                   return 3;
           }
           printf("\n\n%s\n", buf);
   
           printf("io_readv=%d\n", (ret = io_rreadv(f, iv, 3, (off_t) 0, 1)));
           for (i = 0; i < 3; i++) {
                   printf("%d) len=%d - %s\n---\n", i, iv[i].iov_len, iv[i].iov_base);
                   io_free(iv[i].iov_base);
           }
   
           iv[0].iov_base = io_strdup("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n");
           iv[0].iov_len = strlen(iv[0].iov_base) + 1;
           iv[1].iov_base = io_strdup("bbbbbbbbbbbbbbbb\n");
           iv[1].iov_len = strlen(iv[1].iov_base) + 1;
           iv[2].iov_base = io_strdup("sdgnsjkfgbfgbfjhbjjjjjjjjjjjjjjjj\n");
           iv[2].iov_len = strlen(iv[2].iov_base) + 1;
           printf("io_writev=%d\n", (ret = io_rwritev(f, iv, 3, 0, 1)));
           for (i = 0; i < 3; i++)
                   memset(iv[i].iov_base, 0, iv[i].iov_len);
   
           printf("io_readv=%d\n", (ret = io_rreadv(f, iv, 3, 0, 1)));
           for (i = 0; i < 3; i++) {
                   printf("%d) len=%d - %s\n---\n", i, iv[i].iov_len, iv[i].iov_base);
                   io_free(iv[i].iov_base);
           }
   
           close(f);
   
           /*
           for (i = 0; i < 3; i++)
                   io_free(iv[i].iov_base);
                   */
           return 0;
   }

Removed from v.1.1  
changed lines
  Added in v.1.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>