| verzia 1.2, 2002/08/11 19:36:35 |
verzia 1.3, 2002/08/11 20:42:54 |
|
|
| #include <stdio.h> |
#include <stdio.h> |
| #include <stdlib.h> |
#include <stdlib.h> |
| |
#include <errno.h> |
| #include <string.h> |
#include <string.h> |
| #include <sys/stat.h> |
#include <sys/stat.h> |
| #include <unistd.h> |
#include <unistd.h> |
| #include <fcntl.h> |
#include <fcntl.h> |
| #include <vga.h> |
#include <vga.h> |
| #include <vgagl.h> |
#include <vgagl.h> |
| |
|
| #include "pdf.h" |
#include "pdf.h" |
| |
|
| |
/* $Id$ */ |
| |
|
| void usage(char *prg) |
void usage(char *prg) |
| { |
{ |
| printf("Use %s pdffile\n", prg); |
printf("Usage: %s <pdffile>\n", prg); |
| exit(-1); |
exit(-1); |
| } |
} |
| |
|
| int main(int argc, char *argv[]) |
int main(int argc, char **argv) |
| { |
{ |
| FILE *fp; |
FILE *fp; |
| char *buffer; |
char *buffer; |
| struct stat sbuf; |
struct stat sbuf; |
| |
|
| if (argc == 1) |
if (argc == 1) |
| usage(argv[0]); |
usage(argv[0]); |
| if (stat(argv[1], &sbuf) == -1) |
if (stat(argv[1], &sbuf) == -1) { |
| |
fprintf(stderr,"Can't read %s: %s\n", argv[1], strerror(errno)); |
| usage(argv[0]); |
usage(argv[0]); |
| buffer = (char *) malloc(sbuf.st_size); |
} |
| |
|
| |
buffer = (char *) malloc(sbuf. st_size); |
| if (buffer == NULL) { |
if (buffer == NULL) { |
| |
/* perror() ze vraj neni prenositelne na Sun alebo Solaris, |
| |
* ze vraj treba pouzivat strerror() |
| |
* po precitani zmazat tento text |
| perror("malloc"); |
perror("malloc"); |
| exit(-1); |
*/ |
| |
fprintf(stderr, "malloc: %s\n", strerror(errno)); |
| |
exit(errno); |
| } |
} |
| |
|
| fp = fopen(argv[1], "r"); |
fp = fopen(argv[1], "r"); |
| if(fread(buffer, sbuf.st_size, 1, fp) < 1) { |
if(fread(buffer, sbuf.st_size, 1, fp) < 1) { |
| fprintf(stderr,"Can't read %s\n",argv[1]); |
fprintf(stderr, "Can't read %s: %s\n", argv[1], strerror(errno)); |
| free(buffer); |
free(buffer); |
| exit(-1); |
exit(errno); |
| } |
} |
| if(strncmp(buffer,"%PDF-",5) != 0) { |
|
| fprintf(stderr,"%s is not PDF document!\n",argv[1]); |
if(strncmp(buffer, "%PDF-",5) != 0) { |
| |
fprintf(stderr, "%s is not PDF document!\n", argv[1]); |
| free(buffer); |
free(buffer); |
| exit(-1); |
exit(errno); |
| } |
} |
| fclose(fp); |
fclose(fp); |
| |
|
| vga_init(); |
vga_init(); |
| vga_setmode(10); |
vga_setmode(10); |
| gl_setcontextvga(10); |
gl_setcontextvga(10); |
| Riadok 47 int main(int argc, char *argv[]) |
|
| Riadok 64 int main(int argc, char *argv[]) |
|
| getchar(); |
getchar(); |
| vga_setmode(TEXT); |
vga_setmode(TEXT); |
| free(buffer); |
free(buffer); |
| exit(0); |
|
| |
return 0; |
| } |
} |
| |
|