mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-18 11:41:06 +00:00
Improve error messages
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24384 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
0a60eafdd2
commit
f9daa8dbc6
2 changed files with 72 additions and 36 deletions
|
@ -1,3 +1,7 @@
|
||||||
|
2007-01-19 Richard Frith-Macdonald <rfm@gnu.org>
|
||||||
|
|
||||||
|
* Tools/defaults.m: Make errors go to stderr and be more informative.
|
||||||
|
|
||||||
2007-01-17 Richard Frith-Macdonald <rfm@gnu.org>
|
2007-01-17 Richard Frith-Macdonald <rfm@gnu.org>
|
||||||
|
|
||||||
* Source/NSURLHandle.m: ([resourceData]) make sure value returned
|
* Source/NSURLHandle.m: ([resourceData]) make sure value returned
|
||||||
|
|
104
Tools/defaults.m
104
Tools/defaults.m
|
@ -362,16 +362,16 @@ main(int argc, char** argv, char **env)
|
||||||
id obj = [dom objectForKey: key];
|
id obj = [dom objectForKey: key];
|
||||||
const char *ptr;
|
const char *ptr;
|
||||||
|
|
||||||
ptr = [domainName cString];
|
ptr = [domainName UTF8String];
|
||||||
output(ptr);
|
output(ptr);
|
||||||
putchar(' ');
|
putchar(' ');
|
||||||
|
|
||||||
ptr = [key cString];
|
ptr = [key UTF8String];
|
||||||
output(ptr);
|
output(ptr);
|
||||||
putchar(' ');
|
putchar(' ');
|
||||||
|
|
||||||
ptr = [[obj descriptionWithLocale: locale
|
ptr = [[obj descriptionWithLocale: locale
|
||||||
indent: 0] cString];
|
indent: 0] UTF8String];
|
||||||
output(ptr);
|
output(ptr);
|
||||||
putchar('\n');
|
putchar('\n');
|
||||||
}
|
}
|
||||||
|
@ -384,14 +384,14 @@ main(int argc, char** argv, char **env)
|
||||||
{
|
{
|
||||||
const char *ptr;
|
const char *ptr;
|
||||||
|
|
||||||
ptr = [domainName cString];
|
ptr = [domainName UTF8String];
|
||||||
output(ptr);
|
output(ptr);
|
||||||
putchar(' ');
|
putchar(' ');
|
||||||
ptr = [name cString];
|
ptr = [name UTF8String];
|
||||||
output(ptr);
|
output(ptr);
|
||||||
putchar(' ');
|
putchar(' ');
|
||||||
ptr = [[obj descriptionWithLocale: locale indent: 0]
|
ptr = [[obj descriptionWithLocale: locale indent: 0]
|
||||||
cString];
|
UTF8String];
|
||||||
output(ptr);
|
output(ptr);
|
||||||
putchar('\n');
|
putchar('\n');
|
||||||
found = YES;
|
found = YES;
|
||||||
|
@ -403,7 +403,7 @@ main(int argc, char** argv, char **env)
|
||||||
|
|
||||||
if (found == NO && name != nil)
|
if (found == NO && name != nil)
|
||||||
{
|
{
|
||||||
printf("defaults read: couldn't read default\n");
|
GSPrintf(stderr, @"defaults read: couldn't read default\n");
|
||||||
derror = GSEXIT_NOTFOUND;
|
derror = GSEXIT_NOTFOUND;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -430,7 +430,8 @@ main(int argc, char** argv, char **env)
|
||||||
buf = objc_realloc(buf, size);
|
buf = objc_realloc(buf, size);
|
||||||
if (buf == 0)
|
if (buf == 0)
|
||||||
{
|
{
|
||||||
printf("defaults write: out of memory loading defaults\n");
|
GSPrintf(stderr,
|
||||||
|
@"defaults write: out of memory loading defaults\n");
|
||||||
[pool release];
|
[pool release];
|
||||||
exit(GSEXIT_FAILURE);
|
exit(GSEXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
@ -458,7 +459,8 @@ main(int argc, char** argv, char **env)
|
||||||
owner = input(&ptr);
|
owner = input(&ptr);
|
||||||
if ([owner length] == 0)
|
if ([owner length] == 0)
|
||||||
{
|
{
|
||||||
printf("defaults write: invalid input - nul domain name\n");
|
GSPrintf(stderr,
|
||||||
|
@"defaults write: invalid input - nul domain name\n");
|
||||||
[pool release];
|
[pool release];
|
||||||
exit(GSEXIT_FAILURE);
|
exit(GSEXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
@ -466,7 +468,8 @@ main(int argc, char** argv, char **env)
|
||||||
name = input(&ptr);
|
name = input(&ptr);
|
||||||
if ([name length] == 0)
|
if ([name length] == 0)
|
||||||
{
|
{
|
||||||
printf("defaults write: invalid input - nul default name.\n");
|
GSPrintf(stderr,
|
||||||
|
@"defaults write: invalid input - nul default name.\n");
|
||||||
[pool release];
|
[pool release];
|
||||||
exit(GSEXIT_FAILURE);
|
exit(GSEXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
@ -478,8 +481,9 @@ main(int argc, char** argv, char **env)
|
||||||
obj = input(&ptr);
|
obj = input(&ptr);
|
||||||
if (obj == nil)
|
if (obj == nil)
|
||||||
{
|
{
|
||||||
printf("defaults write: invalid input - "
|
GSPrintf(stderr,
|
||||||
"empty property list\n");
|
@"defaults write: invalid input - "
|
||||||
|
@"empty property list\n");
|
||||||
[pool release];
|
[pool release];
|
||||||
exit(GSEXIT_FAILURE);
|
exit(GSEXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
@ -496,13 +500,15 @@ main(int argc, char** argv, char **env)
|
||||||
NS_DURING
|
NS_DURING
|
||||||
tmp = [obj propertyList];
|
tmp = [obj propertyList];
|
||||||
NS_HANDLER
|
NS_HANDLER
|
||||||
NSLog(@"Failed to parse '%@' ... '%@'", obj, localException);
|
NSLog(@"Failed to parse '%@' ... '%@'",
|
||||||
|
obj, localException);
|
||||||
tmp = nil;
|
tmp = nil;
|
||||||
NS_ENDHANDLER
|
NS_ENDHANDLER
|
||||||
if (tmp == nil)
|
if (tmp == nil)
|
||||||
{
|
{
|
||||||
printf("defaults write: invalid input - "
|
GSPrintf(stderr,
|
||||||
"bad property list\n");
|
@"defaults write: invalid input - "
|
||||||
|
@"bad property list\n");
|
||||||
[pool release];
|
[pool release];
|
||||||
exit(GSEXIT_FAILURE);
|
exit(GSEXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
@ -536,7 +542,7 @@ main(int argc, char** argv, char **env)
|
||||||
const char *ptr;
|
const char *ptr;
|
||||||
|
|
||||||
value = [args objectAtIndex: i];
|
value = [args objectAtIndex: i];
|
||||||
ptr = [value cString];
|
ptr = [value UTF8String];
|
||||||
|
|
||||||
if (*ptr == '(' || *ptr == '{' || *ptr == '<' || *ptr == '"')
|
if (*ptr == '(' || *ptr == '{' || *ptr == '<' || *ptr == '"')
|
||||||
{
|
{
|
||||||
|
@ -550,8 +556,8 @@ main(int argc, char** argv, char **env)
|
||||||
|
|
||||||
if (obj == nil)
|
if (obj == nil)
|
||||||
{
|
{
|
||||||
printf("defaults write: invalid input - "
|
GSPrintf(stderr, @"defaults write: invalid input - "
|
||||||
"bad property list\n");
|
@"bad property list\n");
|
||||||
[pool release];
|
[pool release];
|
||||||
exit(GSEXIT_FAILURE);
|
exit(GSEXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
@ -607,7 +613,8 @@ main(int argc, char** argv, char **env)
|
||||||
buf = objc_realloc(buf, size);
|
buf = objc_realloc(buf, size);
|
||||||
if (buf == 0)
|
if (buf == 0)
|
||||||
{
|
{
|
||||||
printf("defaults write: out of memory reading domains\n");
|
GSPrintf(stderr,
|
||||||
|
@"defaults write: out of memory reading domains\n");
|
||||||
[pool release];
|
[pool release];
|
||||||
exit(GSEXIT_FAILURE);
|
exit(GSEXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
@ -629,22 +636,31 @@ main(int argc, char** argv, char **env)
|
||||||
owner = input(&ptr);
|
owner = input(&ptr);
|
||||||
if ([owner length] == 0)
|
if ([owner length] == 0)
|
||||||
{
|
{
|
||||||
printf("defaults delete: invalid input - empty owner\n");
|
GSPrintf(stderr,
|
||||||
|
@"defaults delete: invalid input - empty domain name\n");
|
||||||
[pool release];
|
[pool release];
|
||||||
exit(GSEXIT_FAILURE);
|
exit(GSEXIT_FAILURE);
|
||||||
}
|
}
|
||||||
name = input(&ptr);
|
name = input(&ptr);
|
||||||
if ([name length] == 0)
|
if ([name length] == 0)
|
||||||
{
|
{
|
||||||
printf("defaults delete: invalid input - empty domain name\n");
|
GSPrintf(stderr,
|
||||||
|
@"defaults delete: invalid input - empty key\n");
|
||||||
[pool release];
|
[pool release];
|
||||||
exit(GSEXIT_FAILURE);
|
exit(GSEXIT_FAILURE);
|
||||||
}
|
}
|
||||||
domain = [[defs persistentDomainForName: owner] mutableCopy];
|
domain = [[defs persistentDomainForName: owner] mutableCopy];
|
||||||
if (domain == nil || [domain objectForKey: name] == nil)
|
if (domain == nil)
|
||||||
|
{
|
||||||
|
GSPrintf(stderr, @"defaults delete: couldn't remove "
|
||||||
|
@"value from non-existent domain %s\n", [owner UTF8String]);
|
||||||
|
}
|
||||||
|
else if ([domain objectForKey: name] == nil)
|
||||||
{
|
{
|
||||||
printf("defaults delete: couldn't remove %s owned by %s\n",
|
GSPrintf(stderr,
|
||||||
[name cString], [owner cString]);
|
@"defaults delete: couldn't remove non-existent value %s "
|
||||||
|
@"from domain %s\n",
|
||||||
|
[name UTF8String], [owner UTF8String]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -667,10 +683,17 @@ main(int argc, char** argv, char **env)
|
||||||
if (name)
|
if (name)
|
||||||
{
|
{
|
||||||
domain = [[defs persistentDomainForName: owner] mutableCopy];
|
domain = [[defs persistentDomainForName: owner] mutableCopy];
|
||||||
if (domain == nil || [domain objectForKey: name] == nil)
|
if (domain == nil)
|
||||||
|
{
|
||||||
|
GSPrintf(stderr, @"defaults delete: couldn't remove "
|
||||||
|
@"value from non-existent domain %s\n", [owner UTF8String]);
|
||||||
|
}
|
||||||
|
else if ([domain objectForKey: name] == nil)
|
||||||
{
|
{
|
||||||
printf("defaults delete: couldn't remove %s owned by %s\n",
|
GSPrintf(stderr,
|
||||||
[name cString], [owner cString]);
|
@"defaults delete: couldn't remove non-existent value %s "
|
||||||
|
@"from domain %s\n",
|
||||||
|
[name UTF8String], [owner UTF8String]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -680,7 +703,15 @@ main(int argc, char** argv, char **env)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
[defs removePersistentDomainForName: owner];
|
if ([defs persistentDomainForName: owner] == nil)
|
||||||
|
{
|
||||||
|
GSPrintf(stderr, @"defaults delete: couldn't remove "
|
||||||
|
@"non-existent domain %s\n", [owner UTF8String]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
[defs removePersistentDomainForName: owner];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ([defs synchronize] == NO)
|
if ([defs synchronize] == NO)
|
||||||
|
@ -697,7 +728,7 @@ main(int argc, char** argv, char **env)
|
||||||
{
|
{
|
||||||
NSString *domainName = [domains objectAtIndex: i];
|
NSString *domainName = [domains objectAtIndex: i];
|
||||||
|
|
||||||
output([domainName cString]);
|
output([domainName UTF8String]);
|
||||||
putchar('\n');
|
putchar('\n');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -719,7 +750,7 @@ main(int argc, char** argv, char **env)
|
||||||
|
|
||||||
if ([domainName isEqual: name])
|
if ([domainName isEqual: name])
|
||||||
{
|
{
|
||||||
printf("%s\n", [domainName cString]);
|
GSPrintf(stderr, @"%s\n", [domainName UTF8String]);
|
||||||
found = YES;
|
found = YES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -736,17 +767,18 @@ main(int argc, char** argv, char **env)
|
||||||
|
|
||||||
if ([key isEqual: name])
|
if ([key isEqual: name])
|
||||||
{
|
{
|
||||||
printf("%s %s\n", [domainName cString], [key cString]);
|
GSPrintf(stderr, @"%s %s\n",
|
||||||
|
[domainName UTF8String], [key UTF8String]);
|
||||||
found = YES;
|
found = YES;
|
||||||
}
|
}
|
||||||
if ([obj isKindOfClass: [NSString class]])
|
if ([obj isKindOfClass: [NSString class]])
|
||||||
{
|
{
|
||||||
if ([obj isEqual: name])
|
if ([obj isEqual: name])
|
||||||
{
|
{
|
||||||
printf("%s %s %s\n",
|
GSPrintf(stderr, @"%s %s %s\n",
|
||||||
[domainName cString],
|
[domainName UTF8String],
|
||||||
[key cString],
|
[key UTF8String],
|
||||||
[obj cString]);
|
[obj UTF8String]);
|
||||||
found = YES;
|
found = YES;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -756,7 +788,7 @@ main(int argc, char** argv, char **env)
|
||||||
|
|
||||||
if (found == NO)
|
if (found == NO)
|
||||||
{
|
{
|
||||||
printf("defaults find: couldn't find value\n");
|
GSPrintf(stderr, @"defaults find: couldn't find value\n");
|
||||||
derror = GSEXIT_NOTFOUND;
|
derror = GSEXIT_NOTFOUND;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue