Index: /branches/eam_branches/ipp-20120805/Ohana/src/libfits/header/F_scan.c
===================================================================
--- /branches/eam_branches/ipp-20120805/Ohana/src/libfits/header/F_scan.c	(revision 34354)
+++ /branches/eam_branches/ipp-20120805/Ohana/src/libfits/header/F_scan.c	(revision 34355)
@@ -85,4 +85,6 @@
 
   // XXX is this safe for 64bit off_t and 32bit off_t?
+  // XXX the problem is that we read FITS files on many machine types: I need to ensure 
+  // that we are portable -- this sseems inconsistent
   if (!strcmp (mode, "%jd"))  { *va_arg (argp, intmax_t *) 	     = value; return (TRUE); }
 
@@ -220,13 +222,14 @@
   if ((*q == 'd') || (*q == 'D')) value *= pow (10.0, atof (q + 1));
 
-  if (!strcmp (mode, "%d"))   { *va_arg (argp, int *)       	     = value; return (TRUE); }
-  if (!strcmp (mode, "%ld"))  { *va_arg (argp, long *)      	     = value; return (TRUE); }
-  if (!strcmp (mode, OFF_T_FMT)) { *va_arg (argp, long long *) 	     = value; return (TRUE); }
-  if (!strcmp (mode, "%Ld"))  { *va_arg (argp, long long *) 	     = value; return (TRUE); }
-  if (!strcmp (mode, "%u"))   { *va_arg (argp, unsigned *)  	     = value; return (TRUE); }
-  if (!strcmp (mode, "%lu"))  { *va_arg (argp, unsigned long *)      = value; return (TRUE); }
-  if (!strcmp (mode, "%llu")) { *va_arg (argp, unsigned long long *) = value; return (TRUE); }
-  if (!strcmp (mode, "%Lu"))  { *va_arg (argp, unsigned long long *) = value; return (TRUE); }
-  if (!strcmp (mode, "%hd"))  { *va_arg (argp, short *)     	     = value; return (TRUE); }
+  if (!strcmp (mode, "%d"))   	 { *va_arg (argp, int *)       	        = value; return (TRUE); }
+  if (!strcmp (mode, "%ld"))  	 { *va_arg (argp, long *)      	        = value; return (TRUE); }
+  if (!strcmp (mode, OFF_T_FMT)) { *va_arg (argp, off_t *) 	        = value; return (TRUE); }
+  if (!strcmp (mode, "%Ld"))     { *va_arg (argp, long long *) 	        = value; return (TRUE); }
+  if (!strcmp (mode, "%u"))      { *va_arg (argp, unsigned *)  	        = value; return (TRUE); }
+  if (!strcmp (mode, "%lu"))     { *va_arg (argp, unsigned long *)      = value; return (TRUE); }
+  if (!strcmp (mode, "%llu"))    { *va_arg (argp, unsigned long long *) = value; return (TRUE); }
+  if (!strcmp (mode, "%Lu"))     { *va_arg (argp, unsigned long long *) = value; return (TRUE); }
+  if (!strcmp (mode, "%hd"))     { *va_arg (argp, short *)     	        = value; return (TRUE); }
+  if (!strcmp (mode, "%jd"))     { *va_arg (argp, intmax_t *) 	        = value; return (TRUE); }
 
   /* no valid mode found */
