12 fprint(2, "usage: togif [-l loopcount] [-c 'comment'] [-d Δt (ms)] [-t transparency-index] [file ... [-d Δt] file ...]\n");
16 #define UNSET (-12345678)
19 main(int argc, char *argv[])
23 int fd, j, dt, trans, loop;
25 char *err, *comment, *s;
34 if(s==nil || (!isdigit(s[0]) && s[0]!='-'))
45 if(s==nil || !isdigit(s[0]))
51 if(s==nil || !isdigit(s[0]))
61 if(Binit(&bout, 1, OWRITE) < 0)
62 sysfatal("Binit failed: %r");
71 sysfatal("reading input: %r");
74 sysfatal("converting image to RGBV: %r");
79 err = memstartgif(&bout, i, -1);
82 err = memwritegif(&bout, i, comment, dt, trans);
84 snprint(buf, sizeof buf, "Converted by Plan 9 from <stdin>");
85 err = memwritegif(&bout, i, buf, dt, trans);
91 loop = -1; /* no loop for single image */
93 loop = 0; /* the default case: 0 means infinite loop */
95 for(j=0; j<argc; j++){
96 if(argv[j][0] == '-' && argv[j][1]=='d'){
98 if(argv[j][2] == '\0'){
107 if(j == argc-1) /* last argument must be file */
111 fd = open(argv[j], OREAD);
113 sysfatal("can't open %s: %r", argv[j]);
114 i = readmemimage(fd);
116 sysfatal("can't readimage %s: %r", argv[j]);
120 sysfatal("converting image to RGBV: %r");
126 err = memstartgif(&bout, i, loop);
131 err = memwritegif(&bout, i, comment, dt, trans);
133 snprint(buf, sizeof buf, "Converted by Plan 9 from %s", argv[j]);
134 err = memwritegif(&bout, i, buf, dt, trans);
145 fprint(2, "togif: %s\n", err);