1
0
mirror of https://github.com/fuse-friends/fuse-native synced 2024-10-27 18:34:01 +00:00

change readlink signature

This commit is contained in:
Mathias Buus 2015-03-23 15:21:11 +01:00
parent de412a6aaf
commit 4ad285fb91

View File

@ -742,10 +742,6 @@ NAN_INLINE static void bindings_set_dirs (bindings_t *b, Local<Array> dirs) {
} }
} }
NAN_INLINE static void bindings_set_fd (bindings_t *b, Local<Number> fd) {
b->info->fh = fd->Uint32Value();
}
NAN_METHOD(OpCallback) { NAN_METHOD(OpCallback) {
NanScope(); NanScope();
@ -773,7 +769,9 @@ NAN_METHOD(OpCallback) {
case OP_CREATE: case OP_CREATE:
case OP_OPEN: case OP_OPEN:
case OP_OPENDIR: { case OP_OPENDIR: {
if (args.Length() > 2 && args[2]->IsNumber()) bindings_set_fd(b, args[2].As<Number>()); if (args.Length() > 2 && args[2]->IsNumber()) {
b->info->fh = args[2].As<Number>()->Uint32Value();
}
} }
break; break;
@ -782,6 +780,14 @@ NAN_METHOD(OpCallback) {
} }
break; break;
case OP_READLINK: {
if (args.Length() > 2 && args[2]->IsString()) {
NanUtf8String path(args[2]);
stpcpy((char *) b->data, *path);
}
}
break;
case OP_INIT: case OP_INIT:
case OP_ERROR: case OP_ERROR:
case OP_ACCESS: case OP_ACCESS:
@ -790,7 +796,6 @@ NAN_METHOD(OpCallback) {
case OP_FSYNCDIR: case OP_FSYNCDIR:
case OP_TRUNCATE: case OP_TRUNCATE:
case OP_FTRUNCATE: case OP_FTRUNCATE:
case OP_READLINK:
case OP_CHOWN: case OP_CHOWN:
case OP_CHMOD: case OP_CHMOD:
case OP_SETXATTR: case OP_SETXATTR:
@ -972,13 +977,8 @@ static void bindings_dispatch (uv_async_t* handle, int status) {
return; return;
case OP_READLINK: { case OP_READLINK: {
Local<Value> tmp[] = { Local<Value> tmp[] = {NanNew<String>(b->path), callback};
NanNew<String>(b->path), bindings_call_op(b, b->ops_readlink, 2, tmp);
bindings_buffer((char *) b->data, b->length),
NanNew<Number>(b->length),
callback
};
bindings_call_op(b, b->ops_readlink, 4, tmp);
} }
return; return;