Index: include/parrot/string.h
===================================================================
RCS file: /cvs/public/parrot/include/parrot/string.h,v
retrieving revision 1.59
diff -d -u -r1.59 string.h
--- include/parrot/string.h 22 Apr 2004 08:55:06 -0000 1.59
+++ include/parrot/string.h 11 Jun 2004 09:46:36 -0000
@@ -54,7 +54,7 @@
#define STRINGINFO_STRLEN 6
/* &end_gen */
-#define STRING struct parrot_string_t
+typedef struct parrot_string_t STRING;
#endif /* PARROT_IN_CORE */
#endif /* PARROT_STRING_H_GUARD */
Witness the pain that using the pre-processor causes:
(gdb) down
#0 0x00034114 in char8_at (offs=12, context=0xb003f850) at src/string.c:2918
2918 return ((char*)((STRING *)context)->strstart)[offs];
(gdb) print (STRING *)context)
No symbol "STRING" in current context.
followed by swearing and cursing and time wasted grepping to find out what
a STRING is.
Is there any reason not to have a coding standard that typedef should be
used whenever possible (and non-uses must have their reason commented?)
Nicholas Clark
Nope. So mote it be. typedefs for types, #defines for constants and
bizarre (*temporary*!) debugging things.
--
Dan
--------------------------------------it's like this-------------------
Dan Sugalski even samurai
d...@sidhe.org have teddy bears and even
teddy bears get drunk