Improve to work on Windows.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/projectcenter/trunk@37736 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Germán Arias 2014-03-09 04:15:35 +00:00
parent 7b95ed074e
commit 9d220fdfad
2 changed files with 16 additions and 7 deletions

View file

@ -1,3 +1,8 @@
2014-03-08 German Arias <germanandre@gmx.es>
* Framework/PCFileManager.m (-isTextFile:): Rewrite this method to work
on Windows.
2014-03-07 German Arias <germanandre@gmx.es>
* Framework/PCProjectManager.m: Remove the extension returned by native

View file

@ -644,9 +644,11 @@ static PCFileManager *_mgr = nil;
{
NSFileHandle *fh;
NSData *data;
unsigned int i, n;
const char *buf;
unsigned int printable;
NSUInteger i, printable = 0;
NSString *content;
NSCharacterSet *alpha = [NSCharacterSet alphanumericCharacterSet];
NSCharacterSet *spaces = [NSCharacterSet whitespaceAndNewlineCharacterSet];
NSCharacterSet *marks = [NSCharacterSet punctuationCharacterSet];
fh = [NSFileHandle fileHandleForReadingAtPath:filename];
if (fh == nil)
@ -660,16 +662,18 @@ static PCFileManager *_mgr = nil;
return YES;
}
buf = [data bytes];
for (i = printable = 0, n = [data length]; i < n; i++)
content = [NSString stringWithContentsOfFile: filename];
for (i = 0; i < [content length]; i++)
{
if (isprint((int)(unsigned char)buf[i]) || isspace((int)(unsigned char)buf[i]))
if ([alpha characterIsMember: [content characterAtIndex: i]] ||
[spaces characterIsMember: [content characterAtIndex: i]] ||
[marks characterIsMember: [content characterAtIndex: i]])
{
printable++;
}
}
return (((double) printable / n) > 0.9);
return (((double) printable / i) > 0.9);
}
- (NSArray *)filesWithExtension:(NSString *)extension