fix pl-tai
This commit is contained in:
52
packages/PLStream/libtai/check.c
Normal file
52
packages/PLStream/libtai/check.c
Normal file
@@ -0,0 +1,52 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
#include "tai.h"
|
||||
#include "leapsecs.h"
|
||||
#include "caltime.h"
|
||||
|
||||
char line[100];
|
||||
|
||||
char *dayname[7] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" } ;
|
||||
|
||||
char out[101];
|
||||
char x[TAI_PACK];
|
||||
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
struct tai t;
|
||||
struct tai t2;
|
||||
struct caltime ct;
|
||||
struct caltime ct2;
|
||||
int weekday;
|
||||
int yearday;
|
||||
int i;
|
||||
double packerr;
|
||||
|
||||
if (leapsecs_init() == -1)
|
||||
printf("unable to init leapsecs\n");
|
||||
|
||||
while (fgets(line,sizeof line,stdin))
|
||||
if (!caltime_scan(line,&ct))
|
||||
printf("unable to parse\n");
|
||||
else {
|
||||
caltime_tai(&ct,&t);
|
||||
caltime_utc(&ct2,&t,&weekday,&yearday);
|
||||
tai_pack(x,&t);
|
||||
tai_unpack(x,&t2);
|
||||
tai_sub(&t2,&t2,&t);
|
||||
packerr = tai_approx(&t2);
|
||||
for (i = 0;i < TAI_PACK;++i)
|
||||
printf("%2.2lx",(unsigned long) (unsigned char) x[i]);
|
||||
if (packerr)
|
||||
printf(" packerr=%f",packerr);
|
||||
printf(" %03d %s",yearday,dayname[weekday]);
|
||||
if (caltime_fmt((char *) 0,&ct2) + 1 < sizeof out) {
|
||||
out[caltime_fmt(out,&ct2)] = 0;
|
||||
printf(" %s",out);
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
exit(0);
|
||||
}
|
Reference in New Issue
Block a user