]> git.llucax.com Git - z.facultad/75.52/treemulator.git/commitdiff
Mas linda la muestra RAW en la GUI.
authorRicardo Markiewicz <rmarkie@fi.uba.ar>
Tue, 1 Nov 2005 04:40:26 +0000 (04:40 +0000)
committerRicardo Markiewicz <rmarkie@fi.uba.ar>
Tue, 1 Nov 2005 04:40:26 +0000 (04:40 +0000)
src/clave_fija.cpp
src/clave_variable.cpp
viewer/view_properties.cpp

index 71f6f0d5d99847bb84e07a5d1922ee8faef57c28..d947e2a4cb82405c07dc0a0d2497d3e5ff49d484 100644 (file)
@@ -46,7 +46,21 @@ bool ClaveFija::operator == (const Clave &c) const
                
 uchar *ClaveFija::ToRaw (uint &size) const
 {
-       size = Size ();
-       return ToArray ();
+       std::stringstream ss;
+
+       ss << "[";
+       ss << data;
+       ss << "]";
+       ss << "[";
+       ss << block_data;
+       ss << "]";
+
+       std::string s = ss.str ();
+
+       uchar *out = new uchar[s.size ()];
+       memcpy (out, s.c_str (), s.size ());
+
+       size = s.size ();
+       return out;
 }
 
index c97b9d9609c8c3ed256138d2c616b3b7cf3a459c..4479a156f133bedc90938abe5fd8d295d6a05914 100644 (file)
@@ -124,12 +124,24 @@ std::string ClaveVariable::abreviar(std::string &p, std::string &a, int &iguales
 
 uchar *ClaveVariable::ToRaw (uint &size) const
 {
-       uchar *out;
-       size = raw_data.size ()*sizeof (uchar)+sizeof (uint);
-       uint len = raw_data.size ();
-       out = new uchar[size];
-       memcpy (out, &len, sizeof (uint));
-       memcpy (out+sizeof(uint), raw_data.c_str (), raw_data.size ()*sizeof (uchar));
+       std::stringstream ss;
+
+       ss << "[";
+       ss << data.size ();
+       ss << "]";
+       ss << "[";
+       ss << raw_data;
+       ss << "]";
+       ss << "[";
+       ss << block_data;
+       ss << "]";
+
+       std::string s = ss.str ();
+
+       uchar *out = new uchar[s.size ()];
+       memcpy (out, s.c_str (), s.size ());
+
+       size = s.size ();
        return out;
 }
 
index 11498ba5af3249ab2fe537b8e14d87e9a05d561c..0e789df53b51a265edc6664801e6ef87c283e8a4 100644 (file)
@@ -120,7 +120,8 @@ std::string ViewProperties::ToRaw (BTreeData *p)
        }
 
        for (i=0; i < size; i++) {
-               if (isalnum (arr[i]))
+               if (isalnum (arr[i]) || (arr[i] == ']') || (arr[i] == '|') ||
+                       (arr[i] == '[') || (arr[i] == '-'))
                        ss << arr[i];
                else
                        ss << ".";