Revert "Add fs.readdirSync()"
Doesn't work on Linux. This reverts commit 05d6da6c4af25fc417902ad1bbae9198e58ff37a.
This commit is contained in:
parent
9acc8a686a
commit
4c8889bba2
@ -10,8 +10,6 @@
|
||||
#include <string.h>
|
||||
#include <errno.h>
|
||||
|
||||
#include <dirent.h>
|
||||
|
||||
namespace node {
|
||||
|
||||
using namespace v8;
|
||||
@ -326,10 +324,6 @@ static Handle<Value> SendFile(const Arguments& args) {
|
||||
}
|
||||
}
|
||||
|
||||
static inline int scandir_one(struct dirent *unused) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
static Handle<Value> ReadDir(const Arguments& args) {
|
||||
HandleScope scope;
|
||||
|
||||
@ -342,26 +336,9 @@ static Handle<Value> ReadDir(const Arguments& args) {
|
||||
if (args[1]->IsFunction()) {
|
||||
ASYNC_CALL(readdir, args[1], *path, 0 /*flags*/)
|
||||
} else {
|
||||
struct dirent **eps;
|
||||
int n = scandir(*path, &eps, scandir_one, alphasort);
|
||||
|
||||
if ( n >= 0) {
|
||||
int cnt;
|
||||
char *name;
|
||||
|
||||
Local<Array> res = Array::New(n);
|
||||
|
||||
for(cnt = 0; cnt < n; ++cnt) {
|
||||
name = eps[cnt]->d_name;
|
||||
|
||||
if (name [0] != '.') {
|
||||
res->Set(Integer::New(cnt), String::New(name));
|
||||
}
|
||||
}
|
||||
return scope.Close(res);
|
||||
} else {
|
||||
return ThrowException(errno_exception(errno));
|
||||
}
|
||||
// TODO
|
||||
return ThrowException(Exception::Error(
|
||||
String::New("synchronous readdir() not yet supported.")));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2,37 +2,28 @@ process.mixin(require("./common"));
|
||||
|
||||
var got_error = false;
|
||||
|
||||
var files = ['a.js'
|
||||
, 'b'
|
||||
, 'cycles'
|
||||
, 'echo.js'
|
||||
, 'multipart.js'
|
||||
, 'nested-index'
|
||||
, 'print-chars.js'
|
||||
, 'test_ca.pem'
|
||||
, 'test_cert.pem'
|
||||
, 'test_key.pem'
|
||||
, 'throws_error.js'
|
||||
, 'x.txt'
|
||||
];
|
||||
|
||||
|
||||
puts('readdirSync ' + fixturesDir);
|
||||
var f = fs.readdirSync(fixturesDir);
|
||||
p(f);
|
||||
assert.deepEqual(files, f.sort());
|
||||
|
||||
|
||||
puts("readdir " + fixturesDir);
|
||||
fs.readdir(fixturesDir, function (err, f) {
|
||||
fs.readdir(fixturesDir, function (err, files) {
|
||||
if (err) {
|
||||
puts("error");
|
||||
got_error = true;
|
||||
} else {
|
||||
p(f);
|
||||
assert.deepEqual(files, f.sort());
|
||||
p(files);
|
||||
assert.deepEqual(['a.js'
|
||||
, 'b'
|
||||
, 'cycles'
|
||||
, 'echo.js'
|
||||
, 'multipart.js'
|
||||
, 'nested-index'
|
||||
, 'print-chars.js'
|
||||
, 'test_ca.pem'
|
||||
, 'test_cert.pem'
|
||||
, 'test_key.pem'
|
||||
, 'throws_error.js'
|
||||
, 'x.txt'
|
||||
], files.sort());
|
||||
}
|
||||
});
|
||||
puts("readdir " + fixturesDir);
|
||||
|
||||
process.addListener("exit", function () {
|
||||
assert.equal(false, got_error);
|
||||
|
Loading…
x
Reference in New Issue
Block a user