Index: /trunk/Mars/mcore/fits.h
===================================================================
--- /trunk/Mars/mcore/fits.h	(revision 12844)
+++ /trunk/Mars/mcore/fits.h	(revision 12845)
@@ -246,6 +246,6 @@
                     // We could use negative values to mark floats
                     // otheriwse we could just cast them to int64_t?
-                case 'L': size = 1; break; // logical
-                // case 'X': size = n; break; // bits (n=number of bytes needed to contain all bits)
+                case 'L':                  // logical
+                case 'A':                  // char
                 case 'B': size = 1; break; // byte
                 case 'I': size = 2; break; // short
@@ -254,4 +254,5 @@
                 case 'E': size = 4; break; // float
                 case 'D': size = 8; break; // double
+                // case 'X': size =  n; break; // bits (n=number of bytes needed to contain all bits)
                 // case 'C': size =  8; break; // complex float
                 // case 'M': size = 16; break; // complex double
@@ -325,4 +326,5 @@
                 switch (it->second.type)
                 {
+                case 'A': gLog << "char(8)";    break;
                 case 'L': gLog << "bool(8)";    break;
                 case 'B': gLog << "byte(8)";    break;
@@ -645,4 +647,8 @@
         }
 
+        Pointers::const_iterator it = fPointers.find(name);
+        if (it!=fPointers.end())
+            return it->second;
+
         fGarbage.push_back(vector<char>(fTable.cols[name].size*fTable.cols[name].num));
 
