31 lines
		
	
	
		
			589 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			589 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #include <stdio.h>
 | |
| #include <stdlib.h>
 | |
| #include "tai.h"
 | |
| #include "leapsecs.h"
 | |
| #include "caldate.h"
 | |
| 
 | |
| /* XXX: breaks tai encapsulation */
 | |
| 
 | |
| /* XXX: output here has to be binary; DOS redirection uses ASCII */
 | |
| 
 | |
| char line[100];
 | |
| 
 | |
| int
 | |
| main(int argc, char**argv)
 | |
| {
 | |
|   struct caldate cd;
 | |
|   struct tai t;
 | |
|   char x[TAI_PACK];
 | |
|   long leaps = 0;
 | |
| 
 | |
|   while (fgets(line,sizeof line,stdin))
 | |
|     if (line[0] == '+')
 | |
|       if (caldate_scan(line + 1,&cd)) {
 | |
| 	t.x = (caldate_mjd(&cd) + 1) * 86400ULL + 4611686014920671114ULL + leaps++;
 | |
|         tai_pack(x,&t);
 | |
| 	fwrite(x,TAI_PACK,1,stdout);
 | |
|       }
 | |
| 
 | |
|   exit(0);
 | |
| }
 |