]> Pileus Git - ~andy/rsl/blob - src/rapic_to_radar.c
Fix bad reference to .libs directory
[~andy/rsl] / src / rapic_to_radar.c
1 #include "rsl.h"
2 #include <unistd.h>
3
4 extern Radar *rapic_radar;
5 extern int rapicparse(void);
6
7 Radar *RSL_rapic_to_radar(char *infile)
8 {
9   /* Attach infile to stdin and call the parser. */
10
11   FILE *fp;
12   Radar *radar;
13   int save_fd;
14   
15   radar = NULL;
16   if (infile == NULL) {
17         save_fd = dup(0);
18         fp = fdopen(save_fd, "r");
19   }  else {
20         if ((fp = fopen(infile, "r")) == NULL) {
21           perror(infile);
22           return radar;
23         }
24   }
25   fp = uncompress_pipe(fp); /* Transparently gunzip. */
26   close(0);
27   if (dup(fileno(fp)) < 0) /* Redirect stdin. */
28         return NULL;
29
30   rapicparse();
31   radar = rapic_radar;
32
33   rsl_pclose(fp);
34         
35   return radar;
36 }