@@ -981,29 +981,29 @@ - (void)addGETHandlerForPath:(NSString*)path filePath:(NSString*)filePath isAtta
981
981
}
982
982
983
983
- (GCDWebServerResponse*)_responseWithContentsOfDirectory : (NSString *)path {
984
- NSDirectoryEnumerator * enumerator = [[NSFileManager defaultManager ] enumeratorAtPath : path];
985
- if (enumerator == nil ) {
984
+ NSArray * contents = [[[ NSFileManager defaultManager ] contentsOfDirectoryAtPath : path error: NULL ] sortedArrayUsingSelector: @selector ( localizedStandardCompare: ) ];
985
+ if (contents == nil ) {
986
986
return nil ;
987
987
}
988
988
NSMutableString * html = [NSMutableString string ];
989
989
[html appendString: @" <!DOCTYPE html>\n " ];
990
990
[html appendString: @" <html><head><meta charset=\" utf-8\" ></head><body>\n " ];
991
991
[html appendString: @" <ul>\n " ];
992
- for (NSString * file in enumerator) {
993
- if (![file hasPrefix: @" ." ]) {
994
- NSString * type = [[enumerator fileAttributes ] objectForKey: NSFileType ];
992
+ for (NSString * entry in contents) {
993
+ if (![entry hasPrefix: @" ." ]) {
994
+ NSString * type = [[[NSFileManager defaultManager ] attributesOfItemAtPath: [path stringByAppendingPathComponent: entry] error: NULL ] objectForKey: NSFileType ];
995
+ GWS_DCHECK (type);
995
996
#pragma clang diagnostic push
996
997
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
997
- NSString * escapedFile = [file stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
998
+ NSString * escapedFile = [entry stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding];
998
999
#pragma clang diagnostic pop
999
1000
GWS_DCHECK (escapedFile);
1000
1001
if ([type isEqualToString: NSFileTypeRegular ]) {
1001
- [html appendFormat: @" <li><a href=\" %@ \" >%@ </a></li>\n " , escapedFile, file ];
1002
+ [html appendFormat: @" <li><a href=\" %@ \" >%@ </a></li>\n " , escapedFile, entry ];
1002
1003
} else if ([type isEqualToString: NSFileTypeDirectory ]) {
1003
- [html appendFormat: @" <li><a href=\" %@ /\" >%@ /</a></li>\n " , escapedFile, file ];
1004
+ [html appendFormat: @" <li><a href=\" %@ /\" >%@ /</a></li>\n " , escapedFile, entry ];
1004
1005
}
1005
1006
}
1006
- [enumerator skipDescendents ];
1007
1007
}
1008
1008
[html appendString: @" </ul>\n " ];
1009
1009
[html appendString: @" </body></html>\n " ];
@@ -1176,7 +1176,7 @@ - (NSInteger)runTestsWithOptions:(NSDictionary<NSString*, id>*)options inDirecto
1176
1176
_ExecuteMainThreadRunLoopSources ();
1177
1177
1178
1178
result = 0 ;
1179
- NSArray * files = [[NSFileManager defaultManager ] contentsOfDirectoryAtPath: path error: NULL ];
1179
+ NSArray * files = [[[ NSFileManager defaultManager ] contentsOfDirectoryAtPath: path error: NULL ] sortedArrayUsingSelector: @selector ( localizedStandardCompare: ) ];
1180
1180
for (NSString * requestFile in files) {
1181
1181
if (![requestFile hasSuffix: @" .request" ]) {
1182
1182
continue ;
0 commit comments