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);
							 | 
						||
| 
								 | 
							
								}
							 |