Index: trunk/Ohana/src/addstar/include/addstar.h
===================================================================
--- trunk/Ohana/src/addstar/include/addstar.h	(revision 27392)
+++ trunk/Ohana/src/addstar/include/addstar.h	(revision 27435)
@@ -44,7 +44,7 @@
 
 typedef struct {
-  int Nstars;
+  unsigned int Nstars;
   Stars *stars;
-  int Nimages;
+  off_t Nimages;
   Image *images;
   Coords *mosaic;
@@ -76,5 +76,5 @@
 char   PASSWORD[80];
 char   HOSTNAME[80];
-int    NVALID, *VALID_IP;
+int    NVALID_IP, *VALID_IP;
 char   SKY_TABLE[256];
 int    SKY_DEPTH;  /** XXX EAM : depth of catalog tables, fix usage */
@@ -152,12 +152,12 @@
 AddstarClientOptions args         PROTO((int argc, char **argv, AddstarClientOptions options));
 
-void       AddToCalibration       PROTO((Average *average, SecFilt *secfilt, Measure *measure, Measure *new, int *next, int Nstar));
+void       AddToCalibration       PROTO((Average *average, SecFilt *secfilt, Measure *measure, Measure *new, off_t *next, off_t Nstar));
 void       FindCalibration        PROTO((Image *image));
 FILE      *GetDB                  PROTO((int *state));
 void       InitCalibration        PROTO((int mode));
-void       SaveCalibration        PROTO((float Mo, float dMo, float Mr, float dMr, float Mi, int N));
+void       SaveCalibration        PROTO((float Mo, float dMo, float Mr, float dMr, float Mi, off_t N));
 void       SetProtect             PROTO((int mode));
 int        SetSignals             PROTO((void));
-int        Shutdown               PROTO((char *message, ...));
+int        Shutdown               PROTO((char *message, ...)) OHANA_FORMAT(printf, 1, 2);
 void       TrapSignal             PROTO((int sig));
 float      airmass                PROTO((float secz_image, double ra, double dec, double st, double latitude));
@@ -166,32 +166,32 @@
 SkyTable  *SkyTableFromTychoIndex PROTO((char *filename, int VERBOSE));
 void       check_permissions      PROTO((char *basefile));
-int        dump_rawstars          PROTO((Stars *stars, int Nstars));
+int        dump_rawstars          PROTO((Stars *stars, unsigned int Nstars));
 int        edge_check             PROTO((double *x1, double *y1, double *x2, double *y2));
-Image     *fakeimage              PROTO((char *rootname, int *Nimage, int photcode));
-
-int        find_matches           PROTO((SkyRegion *region, Stars *stars, int Nstars, Catalog *catalog, AddstarClientOptions options));
-int        find_matches_closest   PROTO((SkyRegion *region, Stars *stars, int Nstars, Catalog *catalog, AddstarClientOptions options));
-int        find_matches_refstars  PROTO((SkyRegion *region, Stars **stars, int Nstars, Catalog *catalog, AddstarClientOptions options));
-int        find_matches_closest_refstars  PROTO((SkyRegion *region, Stars **stars, int Nstars, Catalog *catalog, AddstarClientOptions options));
-
-Stars    **find_subset            PROTO((SkyRegion *region, Stars *stars, int Nstars, int *NSTARS));
+Image     *fakeimage              PROTO((char *rootname, off_t *Nimage, int photcode));
+
+int        find_matches           	 PROTO((SkyRegion *region, Stars *stars,  unsigned int Nstars, Catalog *catalog, AddstarClientOptions options));
+int        find_matches_closest   	 PROTO((SkyRegion *region, Stars *stars,  unsigned int Nstars, Catalog *catalog, AddstarClientOptions options));
+int        find_matches_refstars  	 PROTO((SkyRegion *region, Stars **stars, unsigned int Nstars, Catalog *catalog, AddstarClientOptions options));
+int        find_matches_closest_refstars PROTO((SkyRegion *region, Stars **stars, unsigned int Nstars, Catalog *catalog, AddstarClientOptions options));
+
+Stars    **find_subset            PROTO((SkyRegion *region, Stars *stars, unsigned int Nstars, unsigned int *NSTARS));
 int        gcatalog               PROTO((Catalog *catalog));
-Stars     *get2mass               PROTO((SkyRegion *patch, int photcode, int mode, int *NSTARS));
+Stars     *get2mass               PROTO((SkyRegion *patch, int photcode, int mode, unsigned int *NSTARS));
 double     get_subpix             PROTO((double x, double y));
 
-Stars     *greference             PROTO((char *Refcat, SkyRegion *catstats, int photcode, int *nstars));
-Stars     *getgsc                 PROTO((SkyRegion *patch, int *NSTARS));
-Stars     *gettycho               PROTO((SkyRegion *catstats, int photcode, int *Nstars));
-Stars     *getusno                PROTO((SkyRegion *catstats, int photcode, int *Nstars));
-Stars     *getusnob               PROTO((SkyRegion *catstats, int photcode, int *Nstars));
+Stars     *greference             PROTO((char *Refcat, SkyRegion *catstats, int photcode, unsigned int *nstars));
+Stars     *getgsc                 PROTO((SkyRegion *patch, unsigned int *NSTARS));
+Stars     *gettycho               PROTO((SkyRegion *catstats, int photcode, unsigned int *Nstars));
+Stars     *getusno                PROTO((SkyRegion *catstats, int photcode, unsigned int *Nstars));
+Stars     *getusnob               PROTO((SkyRegion *catstats, int photcode, unsigned int *Nstars));
 
 // load text-based stars (REF only in the sense of REF photcodes)
-Stars     *grefstars              PROTO((char *file, int photcode, int *Nstars));
-
-Stars     *LoadStars              PROTO((char *file, int *Nstars, Image **images, int *Nimages, AddstarClientOptions *options));
+Stars     *grefstars              PROTO((char *file, int photcode, unsigned int *Nstars));
+
+Stars     *LoadStars              PROTO((char *file, unsigned int *Nstars, Image **images, off_t *Nimages, AddstarClientOptions *options));
 Header   **LoadHeaders            PROTO((FILE *f, int *mode, int *Nheader));
-HeaderSet *MatchHeaders           PROTO((int **extsize, int *nimage, int mode, Header **headers, int Nheaders));
-int        LoadData               PROTO((FILE *f, char *file, Image **images, int *nvalid, Stars **stars, int *Nstars, Header **headers, int *extsize, HeaderSet *headerSets, int NheaderSets, AddstarClientOptions *options));
-int        GetZeroPointExposure   PROTO((Header **headers, HeaderSet *headerSets, int Nimages));
+HeaderSet *MatchHeaders           PROTO((off_t **extsize, off_t *nimage, int mode, Header **headers, int Nheaders));
+int        LoadData               PROTO((FILE *f, char *file, Image **images, off_t *nvalid, Stars **stars, unsigned int *Nstars, Header **headers, off_t *extsize, HeaderSet *headerSets, int NheaderSets, AddstarClientOptions *options));
+int        GetZeroPointExposure   PROTO((Header **headers, HeaderSet *headerSets, off_t Nimages));
 
 int        in_image               PROTO((double r, double d, Image *image));
@@ -200,44 +200,25 @@
 void       lock_image_db          PROTO((FITS_DB *db, char *filename));
 int        main                   PROTO((int argc, char **argv));
-void       make_backup            PROTO((char *filename));
-int        match_refstars         PROTO((Stars *stars, int Nstars));
-void       mkcatalog              PROTO((SkyRegion *region, Catalog *catalog));
 double     opening_angle          PROTO((double x1, double y1, double x2, double y2, double x3, double y3));
 int        parse_time             PROTO((Header *header));
-Stars     *rd_gsc                 PROTO((char *filename, int *nstars));
+Stars     *rd_gsc                 PROTO((char *filename, unsigned int *nstars));
 int        replace_match          PROTO((Average *average, Measure *measure, Stars *star));
 void       resort_catalog         PROTO((Catalog *catalog));
-Stars     *rfits                  PROTO((FILE *f, unsigned int *nstars));
-Stars     *rtext                  PROTO((FILE *f, unsigned int *nstars));
 Stars     *ReadStarsFITS          PROTO((FILE *f, Header *header, Header *in_theader, unsigned int *nstars));
 Stars     *ReadStarsTEXT          PROTO((FILE *f, unsigned int *nstars));
-Stars     *ReadStarsSDSS          PROTO((FILE *f, char *name, Header *header, Header *in_theader, Image *images, int *nimages, unsigned int *nstars));
+Stars     *ReadStarsSDSS          PROTO((FILE *f, char *name, Header *header, Header *in_theader, Image *images, off_t *nimages, unsigned int *nstars));
 int        ReadImageHeader        PROTO((Header *header, Image *image, int photcode));
 Stars     *FilterStars            PROTO((Stars *instars, Image *image, unsigned int imageID));
-Stars     *MergeStars             PROTO((Stars *stars, int *Nstars, Stars *instars, int Ninstars));
-void       save_pt_catalog        PROTO((Catalog *catalog));  /*** choose new name ***/
+Stars     *MergeStars             PROTO((Stars *stars, unsigned int *Nstars, Stars *instars, unsigned int Ninstars));
 double     scat_subpix            PROTO((double x, double y));
-time_t     short_date_to_sec      PROTO((char *date));
-void       sort_lists             PROTO((float *X, float *Y, int *S, int N));
-void       sort_stars             PROTO((Stars *stars, int N));
-int        str_to_radec           PROTO((double *ra, double *dec, char *str1, char *str2));
-void       unlock_image_db        PROTO((FITS_DB *db));
-void       update_coords          PROTO((Average *average, Measure *measure, int *next));
-void       wcatalog               PROTO((Catalog *catalog));
-void       free_catalog           PROTO((Catalog *catalog));
-void       wimage                 PROTO((FITS_DB *db, Image *image));
-void       create_image_db        PROTO((FITS_DB *db));
-void       set_db                 PROTO((FITS_DB *in));
-void       uppercase              PROTO((char *string));
-void       fsort                  PROTO((float *X, int N));
-void       fsort2                 PROTO((float *X, float *Y, int N));
-int 	  *init_measure_links     PROTO((Average *average, int Naverage, Measure *measure, int Nmeasure));
-int 	  *init_missing_links     PROTO((Average *average, int Naverage, Missing *missing, int Nmissing));
-int 	   add_meas_link     	  PROTO((Average *average, int *next, int Nmeasure, int NMEASURE));
-int 	   add_miss_link     	  PROTO((Average *average, int *next, int Nmissing));
-int 	  *build_measure_links    PROTO((Average *average, int Naverage, Measure *measure, int Nmeasure));
-Measure   *sort_measure     	  PROTO((Average *average, int Naverage, Measure *measure, int Nmeasure, int *next));
-Missing   *sort_missing     	  PROTO((Average *average, int Naverage, Missing *missing, int Nmissing, int *next_miss));
-int        ImageOptions		  PROTO((AddstarClientOptions *options, Image *images, int Nimages));
+void       update_coords          PROTO((Average *average, Measure *measure, off_t *next));
+off_t 	  *init_measure_links     PROTO((Average *average, off_t Naverage, Measure *measure, off_t Nmeasure));
+off_t 	  *init_missing_links     PROTO((Average *average, off_t Naverage, Missing *missing, off_t Nmissing));
+off_t 	   add_meas_link     	  PROTO((Average *average, off_t *next_meas, off_t Nmeasure, off_t NMEASURE));
+off_t 	   add_miss_link     	  PROTO((Average *average, off_t *next_miss, off_t Nmissing));
+off_t 	  *build_measure_links    PROTO((Average *average, off_t Naverage, Measure *measure, off_t Nmeasure));
+Measure   *sort_measure     	  PROTO((Average *average, off_t Naverage, Measure *measure, off_t Nmeasure, off_t *next_meas));
+Missing   *sort_missing     	  PROTO((Average *average, off_t Naverage, Missing *missing, off_t Nmissing, off_t *next_miss));
+int        ImageOptions		  PROTO((AddstarClientOptions *options, Image *images, off_t Nimages));
 int        GetFileMode		  PROTO((Header *header));
 AddstarClientOptions args_client  PROTO((int argc, char **argv, AddstarClientOptions options));
@@ -252,8 +233,8 @@
 int 	   WaitServerSocket	  PROTO((int InitSocket, SockAddress *Address, int *validIP, int Nvalid));
 int 	   GetClientSocket	  PROTO((char *hostname));
-int 	   UpdateDatabase_Image	  PROTO((AddstarClientOptions *options, Image *images, int Nimages, Coords *mosaic, Stars *stars, int Nstars));
-int 	   UpdateDatabase_Reflist PROTO((AddstarClientOptions *options, Stars *stars, int Nstars));
+int 	   UpdateDatabase_Image	  PROTO((AddstarClientOptions *options, Image *images, off_t Nimages, Coords *mosaic, Stars *stars, unsigned int Nstars));
+int 	   UpdateDatabase_Reflist PROTO((AddstarClientOptions *options, Stars *stars, unsigned int Nstars));
 int 	   UpdateDatabase_Refcat  PROTO((AddstarClientOptions *options, SkyRegion *UserPatch, char *refcat));
-SkyList   *SkyListForStars	  PROTO((SkyTable *table, int depth, Stars *stars, int Nstars));
+SkyList   *SkyListForStars	  PROTO((SkyTable *table, int depth, Stars *stars, unsigned int Nstars));
 SkyList   *SkyListExistingSubset  PROTO((SkyList *input, char *path));
 int        SkyListSetPath	  PROTO((SkyList *list, char *path));
@@ -266,10 +247,10 @@
 int 	   NewReflist_Thread	  PROTO((int BindSocket));
 
-Stars     *Convert_SMPDATA	  PROTO((FTable *table, int *nstars));
-Stars     *Convert_PS1_DEV_0	  PROTO((FTable *table, int *nstars));
-Stars     *Convert_PS1_DEV_1	  PROTO((FTable *table, int *nstars));
-Stars     *Convert_PS1_V1	  PROTO((FTable *table, int *nstars));
-Stars     *Convert_PS1_V1_Alt	  PROTO((FTable *table, int *nstars));
-Stars     *Convert_PS1_V2	  PROTO((FTable *table, int *nstars));
+Stars     *Convert_SMPDATA	  PROTO((FTable *table, unsigned int *nstars));
+Stars     *Convert_PS1_DEV_0	  PROTO((FTable *table, unsigned int *nstars));
+Stars     *Convert_PS1_DEV_1	  PROTO((FTable *table, unsigned int *nstars));
+Stars     *Convert_PS1_V1	  PROTO((FTable *table, unsigned int *nstars));
+Stars     *Convert_PS1_V1_Alt	  PROTO((FTable *table, unsigned int *nstars));
+Stars     *Convert_PS1_V2	  PROTO((FTable *table, unsigned int *nstars));
 
 int        InitStar               PROTO((Stars *star));
@@ -279,9 +260,9 @@
 int args_skycells (int argc, char **argv);
 int ConfigInit_skycells (int *argc, char **argv);
-int UpdateImageIDs (Stars *stars, int Nstars, Image *images, int Nimages);
-int LoadDataSDSS (FILE *f, char *file, Image **images, int *nvalid, Stars **stars, int *Nstars, Header **headers, int *extsize, HeaderSet *headerSets, int Nimages);
-int altaz (double *alt, double *az, double ha, double dec, double latitude);
-
-int LoadDataPMM (FILE *f, char *file, Image **images, int *nvalid, Stars **stars, int *Nstars);
+int UpdateImageIDs (Stars *stars, unsigned int Nstars, Image *images, off_t Nimages);
+
+int LoadDataSDSS (FILE *f, char *file, Image **images, off_t *nvalid, Stars **stars, unsigned int *Nstars, Header **headers, off_t *extsize, HeaderSet *headerSets, off_t Nimages);
+int LoadDataPMM (FILE *f, char *file, Image **images, off_t *nvalid, Stars **stars, unsigned int *Nstars);
+
 PhotCode *LoadMetadataPMM (char *datafile, Image *image);
 time_t pmm_date_to_sec (char *date, char *time);
@@ -293,4 +274,6 @@
 uint64_t CreatePSPSDetectionID(double tobs, int ccdid, int detID);
 uint64_t CreatePSPSObjectID(double ra, double dec);
+
+int altaz (double *alt, double *az, double ha, double dec, double latitude);
 
 // this is a gnu extension?? caution!
