/*============================================================================
WCSLIB 4.3 - an implementation of the FITS WCS standard.
Copyright (C) 1995-2007, Mark Calabretta
This file is part of WCSLIB.
WCSLIB is free software: you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the
Free Software Foundation, either version 3 of the License, or (at your
option) any later version.
WCSLIB is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
more details.
You should have received a copy of the GNU Lesser General Public License
along with WCSLIB. If not, see .
Correspondence concerning WCSLIB may be directed to:
Internet email: mcalabre@atnf.csiro.au
Postal address: Dr. Mark Calabretta
Australia Telescope National Facility, CSIRO
PO Box 76
Epping NSW 1710
AUSTRALIA
Author: Mark Calabretta, Australia Telescope National Facility
http://www.atnf.csiro.au/~mcalabre/index.html
$Id: tofits.c,v 4.3 2007/12/27 05:35:51 cal103 Exp $
*=============================================================================
*
* tofits turns a list of FITS header keyrecords, one per line, into a proper
* FITS header by padding them with blanks to 80 characters and stripping
* out newline characters. It also pads the header to an integral number
* of 2880-byte blocks if necessary.
*
* It operates as a filter, e.g.:
*
* tofits < infile > outfile
*
*===========================================================================*/
#include
int main()
{
int c, i = 0, nkeyrec = 0;
while ((c = getchar()) != EOF) {
if (c == '\n') {
/* Blank-fill the keyrecord. */
while (i++ < 80) {
putchar(' ');
}
i = 0;
nkeyrec++;
} else {
putchar(c);
i++;
}
}
/* Pad to a multiple of 2880-bytes. */
if (nkeyrec %= 36) {
while (nkeyrec++ < 36) {
i = 0;
while (i++ < 80) {
putchar(' ');
}
}
}
return 0;
}