#include <stdio.h>
main(int ac, char **av)
{
  int i,j,k,l,m, iy,im,id, n1,n2,n,nn;
  char f1[60],h[72][80],z[2880];
  FILE *fp;
  for(i=0;i<2880;i++)z[i]=0;
  if(ac<2){
    printf("\n\t**** normalized fits_file ******\n\n");
    printf("\n\tUsage: normalfits p*.fit\n");
    printf("\n\t       (at default directory)\n\n\n");
    exit(0);
  }
  for(m=1;m<ac;m++){
    printf("%3d: %s ",m,av[m]);
    fp=fopen(av[m],"rb+"); fread(h,72,80,fp); 
    k=indexp(h,"END     ",72);
    if(k!=71){ printf("not a BATC fits file!"); continue; }
    k=indexp(h,"EPOCH   ",72);
    if(k!=72)for(j=9;j<31;j++)if(h[k][j]==39)h[k][j]=32;
    k=indexp(h,"DATE-OBS",72);
    if(k!=72){
      for(j=11,l=0;j<29;j++)if(h[k][j]=='/'){h[k][j]=32; l++; }
      if(l){ 
        sscanf(&h[k][11],"%d %d %d",&id,&im,&iy);
        if(iy>90)iy+=1900; else iy+=2000;
        sprintf(&h[k][19],"%4d-%02d-%02d",iy,im,id); h[k][29]=39;
      }
    }
    k=indexp(h,"BLOCKED ",72);
    if(k!=72)for(j=0;j<80;j++)h[k][j]=32;
    for(j=5;j<71;j++)if(h[j][0]==32){ 
      sprintf(h[j],"COMMENT ="); h[j][9]=32;
    }
    k=indexp(h,"NAXIS1  ",72); sscanf(&h[k][10],"%d",&n1);
    k=indexp(h,"NAXIS2  ",72); sscanf(&h[k][10],"%d",&n2);
    n=n1*n2*4; nn=(n+2879)/2880*2880-n;
    fseek(fp,0,0); fwrite(h,72,80,fp);
    fseek(fp,72*80+n,0); fwrite(z,1,nn,fp); 
    printf("\n");
  }
}  

indexp(head,f1,n)
char head[][80],f1[8]; int n;
{
  int i,j;
  for(i=0;i<n;i++){
    for(j=0;j<8;j++)if(head[i][j]!=f1[j])break;
    if(j==8)return i;
  } return i;
}
