Index: /trunk/Ohana/src/addstar/Makefile
===================================================================
--- /trunk/Ohana/src/addstar/Makefile	(revision 40525)
+++ /trunk/Ohana/src/addstar/Makefile	(revision 40526)
@@ -97,4 +97,5 @@
 $(SRC)/greference.$(ARCH).o \
 $(SRC)/grefstars.$(ARCH).o \
+$(SRC)/greffits.$(ARCH).o \
 $(SRC)/replace_match.$(ARCH).o \
 $(SRC)/FilterStars.$(ARCH).o \
Index: /trunk/Ohana/src/addstar/include/addstar.h
===================================================================
--- /trunk/Ohana/src/addstar/include/addstar.h	(revision 40525)
+++ /trunk/Ohana/src/addstar/include/addstar.h	(revision 40526)
@@ -64,5 +64,5 @@
 typedef struct sockaddr_in SockAddress;
 
-enum {ADDSTAR_MODE_NONE, ADDSTAR_MODE_IMAGE, ADDSTAR_MODE_REFLIST, ADDSTAR_MODE_REFCAT, ADDSTAR_MODE_FAKEIMAGE, ADDSTAR_MODE_RESORT, ADDSTAR_MODE_CREATE_ID};
+enum {ADDSTAR_MODE_NONE, ADDSTAR_MODE_IMAGE, ADDSTAR_MODE_REFLIST, ADDSTAR_MODE_REFCAT, ADDSTAR_MODE_FAKEIMAGE, ADDSTAR_MODE_RESORT, ADDSTAR_MODE_CREATE_ID, ADDSTAR_MODE_REFFITS};
 enum {NONE, SIMPLE_CMP, SIMPLE_CMF, SIMPLE_MEF, MOSAIC_CMP, MOSAIC_CMF, MOSAIC_MEF, MOSAIC_PHU, SDSS_OBJ, UKIRT_OBJ};
 /* note: MEF implies CMF */
@@ -216,4 +216,5 @@
 // load text-based stars (REF only in the sense of REF photcodes)
 Catalog   *grefstars              PROTO((char *file, int photcode));
+Catalog   *greffits               PROTO((char *file, int photcode));
 
 Catalog   *rd_gsc                 PROTO((char *filename));
Index: /trunk/Ohana/src/addstar/src/addstar.c
===================================================================
--- /trunk/Ohana/src/addstar/src/addstar.c	(revision 40525)
+++ /trunk/Ohana/src/addstar/src/addstar.c	(revision 40526)
@@ -67,4 +67,8 @@
     case ADDSTAR_MODE_REFLIST:
       newcat = grefstars (argv[1], options.photcode);
+      skylist = SkyListForStars (sky, -1, newcat);
+      break;
+    case ADDSTAR_MODE_REFFITS:
+      newcat = greffits (argv[1], options.photcode);
       skylist = SkyListForStars (sky, -1, newcat);
       break;
@@ -152,12 +156,14 @@
       case ADDSTAR_MODE_REFCAT:
 	newcat = greference (argv[1], skylist[0].regions[i], options.photcode);
-      case ADDSTAR_MODE_REFLIST: {
-	if (options.closest) {
-	  Nmatch += find_matches_closest_refstars (skylist[0].regions[i], newcat, &catalog, options);
-	} else {
-	  Nmatch += find_matches_refstars (skylist[0].regions[i], newcat, &catalog, options);
+      case ADDSTAR_MODE_REFLIST:
+      case ADDSTAR_MODE_REFFITS:
+	{
+	  if (options.closest) {
+	    Nmatch += find_matches_closest_refstars (skylist[0].regions[i], newcat, &catalog, options);
+	  } else {
+	    Nmatch += find_matches_refstars (skylist[0].regions[i], newcat, &catalog, options);
+	  }
+	  break;
 	}
-	break;
-      }
       default:
 	abort();
Index: /trunk/Ohana/src/addstar/src/args.c
===================================================================
--- /trunk/Ohana/src/addstar/src/args.c	(revision 40525)
+++ /trunk/Ohana/src/addstar/src/args.c	(revision 40526)
@@ -24,4 +24,8 @@
   if ((N = get_argument (argc, argv, "-ref"))) {
     options.mode = ADDSTAR_MODE_REFLIST;
+    remove_argument (N, &argc, argv);
+  }
+  if ((N = get_argument (argc, argv, "-reffits"))) {
+    options.mode = ADDSTAR_MODE_REFFITS;
     remove_argument (N, &argc, argv);
   }
@@ -403,5 +407,4 @@
   if ((options.mode == ADDSTAR_MODE_CREATE_ID) && (argc == 1)) return (options);
   if ((options.mode == ADDSTAR_MODE_RESORT) && (argc == 1)) return (options);
-  if (argc == 2) return (options);
 
   if ((options.mode == ADDSTAR_MODE_REFLIST) && (options.photcode == 0)) {
@@ -409,4 +412,10 @@
     exit (2);
   }
+  if ((options.mode == ADDSTAR_MODE_REFFITS) && (options.photcode == 0)) {
+    fprintf (stderr, "photcode must be specified for -reffits\n");
+    exit (2);
+  }
+
+  if (argc == 2) return (options);
 
   fprintf (stderr, "USAGE: addstar (filename)\n");
