mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-22 16:33:29 +00:00
Mime updates
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@15099 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
75f545c7e2
commit
99217dff4a
2 changed files with 22 additions and 9 deletions
|
@ -63,7 +63,7 @@
|
|||
NSMutableDictionary *objects;
|
||||
NSMutableDictionary *params;
|
||||
}
|
||||
+ (NSString*) makeQuoted: (NSString*)v;
|
||||
+ (NSString*) makeQuoted: (NSString*)v always: (BOOL)flag;
|
||||
+ (NSString*) makeToken: (NSString*)t;
|
||||
- (id) initWithName: (NSString*)n
|
||||
value: (NSString*)v;
|
||||
|
|
|
@ -2491,9 +2491,11 @@ static NSCharacterSet *tokenSet = nil;
|
|||
}
|
||||
|
||||
/**
|
||||
* Makes the value into a quoted string if necessary.
|
||||
* Makes the value into a quoted string if necessary (ie if it contains
|
||||
* any special / non-token characters). If flag is YES then the value
|
||||
* is made into a quoted string even if it does not contain special characters.
|
||||
*/
|
||||
+ (NSString*) makeQuoted: (NSString*)v
|
||||
+ (NSString*) makeQuoted: (NSString*)v always: (BOOL)flag
|
||||
{
|
||||
NSRange r;
|
||||
unsigned pos = 0;
|
||||
|
@ -2502,7 +2504,7 @@ static NSCharacterSet *tokenSet = nil;
|
|||
r = [v rangeOfCharacterFromSet: nonToken
|
||||
options: NSLiteralSearch
|
||||
range: NSMakeRange(pos, l - pos)];
|
||||
if (r.length > 0)
|
||||
if (flag == YES || r.length > 0)
|
||||
{
|
||||
NSMutableString *m = [NSMutableString new];
|
||||
|
||||
|
@ -2537,6 +2539,11 @@ static NSCharacterSet *tokenSet = nil;
|
|||
options: NSLiteralSearch
|
||||
range: NSMakeRange(pos, l - pos)];
|
||||
}
|
||||
if (l > pos)
|
||||
{
|
||||
[m appendString:
|
||||
[v substringFromRange: NSMakeRange(pos, l - pos)]];
|
||||
}
|
||||
[m appendString: @"\""];
|
||||
v = AUTORELEASE(m);
|
||||
}
|
||||
|
@ -2748,11 +2755,17 @@ static NSCharacterSet *tokenSet = nil;
|
|||
|
||||
while ((k = [e nextObject]) != nil)
|
||||
{
|
||||
NSString *v = [GSMimeHeader makeQuoted: [params objectForKey: k]];
|
||||
NSData *kd = wordData(k);
|
||||
NSData *vd = wordData(v);
|
||||
unsigned kl = [kd length];
|
||||
unsigned vl = [vd length];
|
||||
NSString *v;
|
||||
NSData *kd;
|
||||
NSData *vd;
|
||||
unsigned kl;
|
||||
unsigned vl;
|
||||
|
||||
v = [GSMimeHeader makeQuoted: [params objectForKey: k] always: NO];
|
||||
kd = wordData(k);
|
||||
vd = wordData(v);
|
||||
kl = [kd length];
|
||||
vl = [vd length];
|
||||
|
||||
if ((l + kl + vl + 3) > LIM)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue