Author: rfm
Date: Sat Aug 29 18:52:31 2015
New Revision: 38945
URL: http://svn.gna.org/viewcvs/gnustep?rev=38945&view=rev
Log:
improve diagnostic output for mime
Modified:
libs/base/trunk/ChangeLog
libs/base/trunk/Source/Additions/GSMime.m
Modified: libs/base/trunk/ChangeLog
URL:
http://svn.gna.org/viewcvs/gnustep/libs/base/trunk/ChangeLog?rev=38945&r1=38944&r2=38945&view=diff
==============================================================================
--- libs/base/trunk/ChangeLog (original)
+++ libs/base/trunk/ChangeLog Sat Aug 29 18:52:31 2015
@@ -1,3 +1,7 @@
+2015-08-29 Richard Frith-Macdonald <[email protected]>
+
+ * Source/Additions/GSMime.m: Improve descriptions for debug.
+
2015-08-24 Richard Frith-Macdonald <[email protected]>
* Source/win32/GSFileHandle.m: include winsock2.h earlier for msys2
Modified: libs/base/trunk/Source/Additions/GSMime.m
URL:
http://svn.gna.org/viewcvs/gnustep/libs/base/trunk/Source/Additions/GSMime.m?rev=38945&r1=38944&r2=38945&view=diff
==============================================================================
--- libs/base/trunk/Source/Additions/GSMime.m (original)
+++ libs/base/trunk/Source/Additions/GSMime.m Sat Aug 29 18:52:31 2015
@@ -1265,11 +1265,10 @@
- (NSString*) description
{
- NSMutableString *desc;
-
- desc = [NSMutableString stringWithFormat: @"GSMimeParser <0x%"PRIxPTR"> -\n",
- (NSUInteger)self];
- [desc appendString: [document description]];
+ NSString *desc;
+
+ desc = [NSMutableString stringWithFormat: @"%@ - %@",
+ [super description], document];
return desc;
}
@@ -3458,10 +3457,19 @@
- (NSString*) description
{
- NSMutableString *desc;
-
- desc = [NSString stringWithFormat: @"%@ name: %@ value: %@ params: %@",
- [super description], [self name], [self value], [self parameters]];
+ NSString *desc;
+ NSDictionary *p = [self parameters];
+
+ if ([p count] > 0)
+ {
+ desc = [NSString stringWithFormat: @"%@ %@: %@ params: %@",
+ [super description], [self name], [self value], p];
+ }
+ else
+ {
+ desc = [NSString stringWithFormat: @"%@ %@: %@",
+ [super description], [self name], [self value]];
+ }
return desc;
}
@@ -5528,37 +5536,77 @@
}
}
-- (NSString*) description
-{
- NSMutableString *desc;
- NSDictionary *locale;
-
- desc = [NSMutableString
- stringWithFormat: @"GSMimeDocument <0x%"PRIxPTR"> -\n",
- (NSUInteger)self];
- locale = [[NSUserDefaults standardUserDefaults] dictionaryRepresentation];
- [desc appendString: [headers descriptionWithLocale: locale]];
+- (void) _descriptionTo: (NSMutableString*)m level: (NSUInteger)level
+{
+ NSUInteger count;
+ NSUInteger index;
+ NSUInteger pad;
+
+ for (pad = 0; pad < level; pad++) { [m appendString: @" "]; }
+ [m appendString: [super description]];
+ [m appendString: @"\n"];
+ level++;
+ if ((count = [headers count]) > 0)
+ {
+ for (pad = 0; pad < level; pad++) { [m appendString: @" "]; }
+ [m appendString: @"Headers:\n"];
+ for (index = 0; index < count; index++)
+ {
+ for (pad = 0; pad <= level; pad++) { [m appendString: @" "]; }
+ [m appendString: [[headers objectAtIndex: index] description]];
+ [m appendString: @"\n"];
+ }
+ }
+ for (pad = 0; pad < level; pad++) { [m appendString: @" "]; }
+ [m appendString: @"Content:\n"];
if ([content isKindOfClass: NSDataClass])
{
NSString *t = [self convertToText];
+ NSData *d = [[self class] encodeBase64: content];
if (nil != t)
{
- [desc appendFormat:
- @"\nDocument content %lu chars:\n%@\n%lu bytes: %@",
- [t length], t, [content length], content];
+ for (pad = 0; pad <= level; pad++) { [m appendString: @" "]; }
+ [m appendFormat: @"%lu chars: ", (unsigned long)[t length]];
+ [m appendString: t];
+ [m appendString: @"\n"];
}
- else
+ for (pad = 0; pad <= level; pad++) { [m appendString: @" "]; }
+ [m appendFormat: @"%lu bytes: ", (unsigned long)[content length]];
+ t = [[NSString alloc] initWithData: d encoding: NSASCIIStringEncoding];
+ [m appendString: t];
+ [m appendString: @"\n"];
+ RELEASE(t);
+ }
+ else if ([content isKindOfClass: NSStringClass])
+ {
+ for (pad = 0; pad <= level; pad++) { [m appendString: @" "]; }
+ [m appendFormat: @"%lu chars: ", (unsigned long)[content length]];
+ [m appendString: content];
+ [m appendString: @"\n"];
+ }
+ else
+ {
+ count = [content count];
+ for (index = 0; index < count; index++)
{
- [desc appendFormat: @"\nDocument content %lu bytes: %@",
- [content length], content];
+ [[content objectAtIndex: index] _descriptionTo: m
+ level: level+1];
}
}
- else
- {
- [desc appendFormat: @"\nDocument content -\n%@", content];
- }
- return desc;
+}
+
+- (NSString*) description
+{
+ CREATE_AUTORELEASE_POOL(arp);
+ NSMutableString *m;
+ NSString *s;
+
+ m = [NSMutableString stringWithCapacity: 1000];
+ [self _descriptionTo: m level: 0];
+ s = RETAIN(m);
+ RELEASE(arp);
+ return AUTORELEASE(s);
}
- (NSUInteger) hash
_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs