Index: trunk/Ohana/src/imregister/spreg/unique.c
===================================================================
--- trunk/Ohana/src/imregister/spreg/unique.c	(revision 16045)
+++ trunk/Ohana/src/imregister/spreg/unique.c	(revision 27435)
@@ -2,9 +2,9 @@
 # include "spreg.h"
 
-void sortstr (char **S, int *X, int N) {
+void sortstr (char **S, off_t *X, off_t N) {
 
 # define SWAPFUNC(A,B){ \
   char *tmp = S[A]; S[A] = S[B]; S[B] = tmp; \
-  int  itmp = X[A]; X[A] = X[B]; X[B] = itmp; \
+  off_t  itmp = X[A]; X[A] = X[B]; X[B] = itmp; \
 }
 # define COMPARE(A,B)(strcmp(S[A], S[B]) < 0)
@@ -18,9 +18,9 @@
 
 /* input is a subset index of spectrum list, output is a new subset */
-int *unique_entries (Spectrum *spectrum, int Nspectrum, int *subset, int *Nmatch) {
+off_t *unique_entries (Spectrum *spectrum, off_t Nspectrum, off_t *subset, off_t *Nmatch) {
 
-  int i, j, m, Nsubset;
-  int N, NMATCH;
-  int *match, *entry;
+  off_t i, j, m, Nsubset;
+  off_t N, NMATCH;
+  off_t *match, *entry;
   char idxline[128];
   char **index;
@@ -31,5 +31,5 @@
   N = 0;
   NMATCH = 1000;
-  ALLOCATE (match, int, NMATCH);
+  ALLOCATE (match, off_t, NMATCH);
 
   Nsubset = *Nmatch;
@@ -37,5 +37,5 @@
   /* index = filename */
   ALLOCATE (index, char *, Nsubset);
-  ALLOCATE (entry, int, Nsubset);
+  ALLOCATE (entry, off_t, Nsubset);
   for (i = 0; i < Nsubset; i++) {
     sprintf (idxline, "%s", spectrum[subset[i]].filename);
@@ -55,5 +55,5 @@
     if (N == NMATCH) {
       NMATCH += 1000;
-      REALLOCATE (match, int, NMATCH);
+      REALLOCATE (match, off_t, NMATCH);
     }
 
