Exemple #1
0
int uv_fs_stat(uv_loop_t* loop, uv_fs_t* req, const char* path, uv_fs_cb cb) {
  int len = strlen(path);
  char* path2 = NULL;
  int has_backslash = (path[len - 1] == '\\' || path[len - 1] == '/');

  if (path[len - 1] == '\\' || path[len - 1] == '/') {
    path2 = strdup(path);
    if (!path2) {
      uv_fatal_error(ERROR_OUTOFMEMORY, "malloc");
    }

    path2[len - 1] = '\0';
  }

  if (cb) {
    uv_fs_req_init_async(loop, req, UV_FS_STAT, cb);
    if (path2) {
      WRAP_REQ_ARGS1(req, path2);
      req->flags |= UV_FS_FREE_ARG0;
    } else {
      WRAP_REQ_ARGS1(req, path);
      STRDUP_ARG(req, 0);
    }

    QUEUE_FS_TP_JOB(loop, req);
  } else {
    uv_fs_req_init_sync(loop, req, UV_FS_STAT);
    fs__stat(req, path2 ? path2 : path);
    if (path2) {
      free(path2);
    }
  }

  return 0;
}
Exemple #2
0
int uv_fs_fsync(uv_loop_t* loop, uv_fs_t* req, uv_file file, uv_fs_cb cb) {
  if (cb) {
    uv_fs_req_init_async(loop, req, UV_FS_FSYNC, cb);
    WRAP_REQ_ARGS1(req, file);
    QUEUE_FS_TP_JOB(loop, req);
  } else {
    uv_fs_req_init_sync(loop, req, UV_FS_FSYNC);
    fs__fsync(req, file);
  }

  return 0;
}
Exemple #3
0
int uv_fs_fstat(uv_fs_t* req, uv_file file, uv_fs_cb cb) {
  if (cb) {
    uv_fs_req_init_async(req, UV_FS_FSTAT, cb);
    WRAP_REQ_ARGS1(req, file);
    QUEUE_FS_TP_JOB(req);
  } else {
    uv_fs_req_init_sync(req, UV_FS_FSTAT);
    fs__fstat(req, file);
  }

  return 0;
}
Exemple #4
0
int uv_fs_close(uv_fs_t* req, uv_file file, uv_fs_cb cb) {
  if (cb) {
    uv_fs_req_init_async(req, UV_FS_CLOSE, cb);
    WRAP_REQ_ARGS1(req, file);
    QUEUE_FS_TP_JOB(req);
  } else {
    uv_fs_req_init_sync(req, UV_FS_CLOSE);
    fs__close(req, file);
  }

  return 0;
}
Exemple #5
0
Fichier : fs.c Projet : Cahya/node
int uv_fs_close(uv_loop_t* loop, uv_fs_t* req, uv_file file, uv_fs_cb cb) {
  if (cb) {
    uv_fs_req_init_async(loop, req, UV_FS_CLOSE, NULL, cb);
    WRAP_REQ_ARGS1(req, file);
    QUEUE_FS_TP_JOB(loop, req);
  } else {
    uv_fs_req_init_sync(loop, req, UV_FS_CLOSE);
    fs__close(req, file);
    SET_UV_LAST_ERROR_FROM_REQ(req);
  }

  return 0;
}
Exemple #6
0
int uv_fs_rmdir(uv_loop_t* loop, uv_fs_t* req, const char* path, uv_fs_cb cb) {
  if (cb) {
    uv_fs_req_init_async(loop, req, UV_FS_RMDIR, cb);
    WRAP_REQ_ARGS1(req, path);
    STRDUP_ARG(req, 0);
    QUEUE_FS_TP_JOB(loop, req);
  } else {
    uv_fs_req_init_sync(loop, req, UV_FS_RMDIR);
    fs__rmdir(req, path);
  }

  return 0;
}
Exemple #7
0
int uv_fs_unlink(uv_fs_t* req, const char* path, uv_fs_cb cb) {
  if (cb) {
    uv_fs_req_init_async(req, UV_FS_UNLINK, cb);
    WRAP_REQ_ARGS1(req, path);
    STRDUP_ARG(req, 0);
    QUEUE_FS_TP_JOB(req);
  } else {
    uv_fs_req_init_sync(req, UV_FS_UNLINK);
    fs__unlink(req, path);
  }

  return 0;
}
Exemple #8
0
Fichier : fs.c Projet : Cahya/node
int uv_fs_readdir(uv_loop_t* loop, uv_fs_t* req, const char* path, int flags,
    uv_fs_cb cb) {
  if (cb) {
    uv_fs_req_init_async(loop, req, UV_FS_READDIR, path, cb);
    WRAP_REQ_ARGS1(req, flags);
    QUEUE_FS_TP_JOB(loop, req);
  } else {
    uv_fs_req_init_sync(loop, req, UV_FS_READDIR);
    fs__readdir(req, path, flags);
    SET_UV_LAST_ERROR_FROM_REQ(req);
  }

  return 0;
}
Exemple #9
0
Fichier : fs.c Projet : Cahya/node
int uv_fs_chmod(uv_loop_t* loop, uv_fs_t* req, const char* path, int mode,
    uv_fs_cb cb) {
  if (cb) {
    uv_fs_req_init_async(loop, req, UV_FS_CHMOD, path, cb);
    WRAP_REQ_ARGS1(req, mode);
    QUEUE_FS_TP_JOB(loop, req);
  } else {
    uv_fs_req_init_sync(loop, req, UV_FS_CHMOD);
    fs__chmod(req, path, mode);
    SET_UV_LAST_ERROR_FROM_REQ(req);
  }

  return 0;
}
Exemple #10
0
int uv_fs_futime(uv_fs_t* req, uv_file file, double atime, double mtime, uv_fs_cb cb) {
  if (cb) {
    uv_fs_req_init_async(req, UV_FS_FUTIME, cb);
    WRAP_REQ_ARGS1(req, file);
    req->arg4 = (ssize_t)atime;
    req->arg5 = (ssize_t)mtime;
    QUEUE_FS_TP_JOB(req);
  } else {
    uv_fs_req_init_sync(req, UV_FS_FUTIME);
    fs__futime(req, file, atime, mtime);
  }

  return 0;
}
Exemple #11
0
int uv_fs_fsync(uv_loop_t* loop, uv_fs_t* req, uv_file file, uv_fs_cb cb) {
  if (cb) {
    uv_fs_req_init_async(loop, req, UV_FS_FSYNC, NULL, cb);
    WRAP_REQ_ARGS1(req, file);
    QUEUE_FS_TP_JOB(loop, req);
  } else {
    uv_fs_req_init_sync(loop, req, UV_FS_FSYNC);
    fs__fsync(req, file);
    SET_UV_LAST_ERROR_FROM_REQ(req);
    return req->result;
  }

  return 0;
}
Exemple #12
0
Fichier : fs.c Projet : Cahya/node
int uv_fs_link(uv_loop_t* loop, uv_fs_t* req, const char* path,
    const char* new_path, uv_fs_cb cb) {
  if (cb) {
    uv_fs_req_init_async(loop, req, UV_FS_LINK, path, cb);
    WRAP_REQ_ARGS1(req, new_path);
    STRDUP_ARG(req, 0);
    QUEUE_FS_TP_JOB(loop, req);
  } else {
    uv_fs_req_init_sync(loop, req, UV_FS_LINK);
    fs__link(req, path, new_path);
    SET_UV_LAST_ERROR_FROM_REQ(req);
  }

  return 0;
}
Exemple #13
0
int uv_fs_utime(uv_fs_t* req, const char* path, double atime, double mtime, uv_fs_cb cb) {
  if (cb) {
    uv_fs_req_init_async(req, UV_FS_UTIME, cb);
    WRAP_REQ_ARGS1(req, path);
    STRDUP_ARG(req, 0);
    req->arg4 = (ssize_t)atime;
    req->arg5 = (ssize_t)mtime;
    QUEUE_FS_TP_JOB(req);
  } else {
    uv_fs_req_init_sync(req, UV_FS_UTIME);
    fs__utime(req, path, atime, mtime);
  }

  return 0;
}
Exemple #14
0
int uv_fs_mkdir(uv_loop_t* loop, uv_fs_t* req, const char* path, int mode,
    uv_fs_cb cb) {
  if (cb) {
    uv_fs_req_init_async(loop, req, UV_FS_MKDIR, path, cb);
    WRAP_REQ_ARGS1(req, mode);
    QUEUE_FS_TP_JOB(loop, req);
  } else {
    uv_fs_req_init_sync(loop, req, UV_FS_MKDIR);
    fs__mkdir(req, path, mode);
    SET_UV_LAST_ERROR_FROM_REQ(req);
    return req->result;
  }

  return 0;
}
Exemple #15
0
Fichier : fs.c Projet : Cahya/node
int uv_fs_futime(uv_loop_t* loop, uv_fs_t* req, uv_file file, double atime,
    double mtime, uv_fs_cb cb) {
  if (cb) {
    uv_fs_req_init_async(loop, req, UV_FS_FUTIME, NULL, cb);
    WRAP_REQ_ARGS1(req, file);
    req->arg4 = (ssize_t)atime;
    req->arg5 = (ssize_t)mtime;
    QUEUE_FS_TP_JOB(loop, req);
  } else {
    uv_fs_req_init_sync(loop, req, UV_FS_FUTIME);
    fs__futime(req, file, atime, mtime);
    SET_UV_LAST_ERROR_FROM_REQ(req);
  }

  return 0;
}
Exemple #16
0
int uv_fs_rename(uv_loop_t* loop, uv_fs_t* req, const char* path,
    const char* new_path, uv_fs_cb cb) {
  if (cb) {
    uv_fs_req_init_async(loop, req, UV_FS_RENAME, path, cb);
    WRAP_REQ_ARGS1(req, new_path);
    STRDUP_ARG(req, 0);
    QUEUE_FS_TP_JOB(loop, req);
  } else {
    uv_fs_req_init_sync(loop, req, UV_FS_RENAME);
    fs__rename(req, path, new_path);
    SET_UV_LAST_ERROR_FROM_REQ(req);
    return req->result;
  }

  return 0;
}