fix utf-8 strings

Mathias Buus 9 years ago
parent 0e9ab7a10a
commit 056542d9ad

@ -521,7 +521,8 @@ static void bindings_set_statfs (Local<Object> obj, struct statvfs *statfs) { //
static void bindings_set_dirs (Local<Array> dirs) {
for (uint32_t i = 0; i < dirs->Length(); i++) {
if (bindings.filler(bindings.data, (char *) *NanUtf8String(dirs->Get(i).As<String>()), &empty_stat, 0)) break;
NanUtf8String dir(dirs->Get(i));
if (bindings.filler(bindings.data, *dir, &empty_stat, 0)) break;
}
}
@ -913,7 +914,8 @@ NAN_METHOD(Mount) {
NanScope();
memset(&empty_stat, 0, sizeof(empty_stat)); // zero empty stat
char *path = (char *) *NanUtf8String(args[0].As<String>());
NanUtf8String path(args[0]);
Local<Object> ops = args[1].As<Object>();
bindings.ops_init = ops->Has(NanNew<String>("init")) ? new NanCallback(ops->Get(NanNew<String>("init")).As<Function>()) : NULL;
@ -951,12 +953,15 @@ NAN_METHOD(Mount) {
NanAssignPersistent(bindings.buffer_persistent, args[2].As<Object>());
bindings.callback = new NanCallback(NanNew<FunctionTemplate>(OpCallback)->GetFunction());
stpcpy(bindings.mnt, path);
stpcpy(bindings.mnt, *path);
stpcpy(bindings.mntopts, "-o");
Local<Array> options = ops->Get(NanNew<String>("options")).As<Array>();
if (options->IsArray()) {
for (uint32_t i = 0; i < options->Length(); i++) bindings_append_opt((char *) *NanUtf8String(options->Get(i).As<String>()));
for (uint32_t i = 0; i < options->Length(); i++) {
NanUtf8String option(options->Get(i));
bindings_append_opt(*option);
}
}
// yolo
@ -972,8 +977,8 @@ NAN_METHOD(Mount) {
NAN_METHOD(UnmountSync) {
NanScope();
char *path = (char *) *NanUtf8String(args[0].As<String>());
bindings_unmount(path);
NanUtf8String path(args[0]);
bindings_unmount(*path);
NanReturnUndefined();
}
@ -997,14 +1002,13 @@ class UnmountWorker : public NanAsyncWorker {
char *path;
};
NAN_METHOD(Unmount) {
NanScope();
char *path = (char *) *NanUtf8String(args[0].As<String>());
NanUtf8String path(args[0]);
Local<Function> callback = args[1].As<Function>();
char *path_alloc = (char *) malloc(1024);
stpcpy(path_alloc, path);
stpcpy(path_alloc, *path);
NanAsyncQueueWorker(new UnmountWorker(new NanCallback(callback), path_alloc));
NanReturnUndefined();

Loading…
Cancel
Save