mirror of
https://github.com/gnustep/libs-base.git
synced 2025-06-03 18:10:50 +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
6f3a6c273a
commit
e7e4b4225c
2 changed files with 22 additions and 9 deletions
|
@ -63,7 +63,7 @@
|
||||||
NSMutableDictionary *objects;
|
NSMutableDictionary *objects;
|
||||||
NSMutableDictionary *params;
|
NSMutableDictionary *params;
|
||||||
}
|
}
|
||||||
+ (NSString*) makeQuoted: (NSString*)v;
|
+ (NSString*) makeQuoted: (NSString*)v always: (BOOL)flag;
|
||||||
+ (NSString*) makeToken: (NSString*)t;
|
+ (NSString*) makeToken: (NSString*)t;
|
||||||
- (id) initWithName: (NSString*)n
|
- (id) initWithName: (NSString*)n
|
||||||
value: (NSString*)v;
|
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;
|
NSRange r;
|
||||||
unsigned pos = 0;
|
unsigned pos = 0;
|
||||||
|
@ -2502,7 +2504,7 @@ static NSCharacterSet *tokenSet = nil;
|
||||||
r = [v rangeOfCharacterFromSet: nonToken
|
r = [v rangeOfCharacterFromSet: nonToken
|
||||||
options: NSLiteralSearch
|
options: NSLiteralSearch
|
||||||
range: NSMakeRange(pos, l - pos)];
|
range: NSMakeRange(pos, l - pos)];
|
||||||
if (r.length > 0)
|
if (flag == YES || r.length > 0)
|
||||||
{
|
{
|
||||||
NSMutableString *m = [NSMutableString new];
|
NSMutableString *m = [NSMutableString new];
|
||||||
|
|
||||||
|
@ -2537,6 +2539,11 @@ static NSCharacterSet *tokenSet = nil;
|
||||||
options: NSLiteralSearch
|
options: NSLiteralSearch
|
||||||
range: NSMakeRange(pos, l - pos)];
|
range: NSMakeRange(pos, l - pos)];
|
||||||
}
|
}
|
||||||
|
if (l > pos)
|
||||||
|
{
|
||||||
|
[m appendString:
|
||||||
|
[v substringFromRange: NSMakeRange(pos, l - pos)]];
|
||||||
|
}
|
||||||
[m appendString: @"\""];
|
[m appendString: @"\""];
|
||||||
v = AUTORELEASE(m);
|
v = AUTORELEASE(m);
|
||||||
}
|
}
|
||||||
|
@ -2748,11 +2755,17 @@ static NSCharacterSet *tokenSet = nil;
|
||||||
|
|
||||||
while ((k = [e nextObject]) != nil)
|
while ((k = [e nextObject]) != nil)
|
||||||
{
|
{
|
||||||
NSString *v = [GSMimeHeader makeQuoted: [params objectForKey: k]];
|
NSString *v;
|
||||||
NSData *kd = wordData(k);
|
NSData *kd;
|
||||||
NSData *vd = wordData(v);
|
NSData *vd;
|
||||||
unsigned kl = [kd length];
|
unsigned kl;
|
||||||
unsigned vl = [vd length];
|
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)
|
if ((l + kl + vl + 3) > LIM)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue