src/server/plugins/postgresql/vfs.c

branch
webdav
changeset 284
eab579b8c80d
parent 283
25e5b771677d
child 285
96e53bd94958
equal deleted inserted replaced
283:25e5b771677d 284:eab579b8c80d
394 return lo_read(pgvfs->connection, pg->fd, buf, nbyte); 394 return lo_read(pgvfs->connection, pg->fd, buf, nbyte);
395 } 395 }
396 396
397 ssize_t pg_vfs_io_write(SYS_FILE fd, const void *buf, size_t nbyte) { 397 ssize_t pg_vfs_io_write(SYS_FILE fd, const void *buf, size_t nbyte) {
398 PgVFS *pgvfs = fd->ctx->vfs->instance; 398 PgVFS *pgvfs = fd->ctx->vfs->instance;
399 399 PgFile *pg = fd->data;
400 return 0; 400 return lo_write(pgvfs->connection, pg->fd, buf, nbyte);
401 } 401 }
402 402
403 ssize_t pg_vfs_io_pread(SYS_FILE fd, void *buf, size_t nbyte, off_t offset) { 403 ssize_t pg_vfs_io_pread(SYS_FILE fd, void *buf, size_t nbyte, off_t offset) {
404 PgVFS *pgvfs = fd->ctx->vfs->instance; 404 PgVFS *pgvfs = fd->ctx->vfs->instance;
405 405 PgFile *pg = fd->data;
406 return 0; 406 if(lo_lseek64(pgvfs->connection, pg->fd, offset, SEEK_SET) == -1) {
407 return -1;
408 }
409 return lo_read(pgvfs->connection, pg->fd, buf, nbyte);
407 } 410 }
408 411
409 ssize_t pg_vfs_io_pwrite(SYS_FILE fd, const void *buf, size_t nbyte, off_t offset) { 412 ssize_t pg_vfs_io_pwrite(SYS_FILE fd, const void *buf, size_t nbyte, off_t offset) {
410 PgVFS *pgvfs = fd->ctx->vfs->instance; 413 PgVFS *pgvfs = fd->ctx->vfs->instance;
411 414 PgFile *pg = fd->data;
412 return 0; 415 if(lo_lseek64(pgvfs->connection, pg->fd, offset, SEEK_SET) == -1) {
416 return -1;
417 }
418 return lo_write(pgvfs->connection, pg->fd, buf, nbyte);
413 } 419 }
414 420
415 off_t pg_vfs_io_seek(SYS_FILE fd, off_t offset, int whence) { 421 off_t pg_vfs_io_seek(SYS_FILE fd, off_t offset, int whence) {
416 PgVFS *pgvfs = fd->ctx->vfs->instance; 422 PgVFS *pgvfs = fd->ctx->vfs->instance;
417 423 PgFile *pg = fd->data;
418 return 0; 424 return lo_lseek64(pgvfs->connection, pg->fd, offset, whence);
419 } 425 }
420 426
421 void pg_vfs_io_close(SYS_FILE fd) { 427 void pg_vfs_io_close(SYS_FILE fd) {
422 pool_handle_t *pool = fd->ctx->pool; 428 pool_handle_t *pool = fd->ctx->pool;
423 PgFile *pg = fd->data; 429 PgFile *pg = fd->data;

mercurial