]> git.sur5r.net Git - cc65/commitdiff
Added GT_AsString().
authoruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Sun, 21 Aug 2011 20:04:27 +0000 (20:04 +0000)
committeruz <uz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Sun, 21 Aug 2011 20:04:27 +0000 (20:04 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@5255 b7a2c559-68d2-44c3-8de9-860c34a00d81

src/common/gentype.c
src/common/gentype.h

index b6bb9a579ff4c9c1e510df27cbf1a881c9aaa06a..7bdddaf33dd83b51a3202cd3ba98cf197bcf26b6 100644 (file)
@@ -79,6 +79,30 @@ unsigned GT_GetArraySize (StrBuf* Type)
 
 
 
+void GT_AsString (const StrBuf* Type, StrBuf* String)
+/* Convert the type into a readable representation */
+{
+    static const char HexTab[16] = "0123456789ABCDEF";
+    unsigned I;
+
+    /* Convert Type into readable hex. String will have twice then length
+     * plus a terminator.
+     */
+    SB_Realloc (String, 2 * SB_GetLen (Type) + 1);
+    SB_Clear (String);
+
+    for (I = 0; I < SB_GetLen (Type); ++I) {
+        unsigned char C = SB_AtUnchecked (Type, I);
+        SB_AppendChar (String, HexTab[(C & 0xF0) >> 4]);
+        SB_AppendChar (String, HexTab[(C & 0x0F) >> 0]);
+    }
+
+    /* Terminate the string so it can be used with string functions */
+    SB_Terminate (String);
+}
+
+
+
 
 
 
index f383cc689a23990c14809de2cc9e1b485455cb82..afadbbb120935c8f43819942a8b6f29133d53b3d 100644 (file)
@@ -136,6 +136,9 @@ unsigned GT_GetArraySize (StrBuf* Type);
  * The index position will get moved past the array size.
  */
 
+void GT_AsString (const StrBuf* Type, StrBuf* String);
+/* Convert the type into a readable representation */
+
 
 
 /* End of gentype.h */