#include "lib/fastbuf.h"
#include "lib/lfs.h"
+#include <stdio.h>
#include <string.h>
#include <fcntl.h>
#include <unistd.h>
static int
bfd_seek(struct fastbuf *f, sh_off_t pos, int whence)
{
- if (whence == SEEK_SET && pos == f->pos)
- return 1;
-
sh_off_t l = sh_seek(FB_FILE(f)->fd, pos, whence);
if (l < 0)
return 0;
{
case 1:
if (unlink(f->name) < 0)
- log(L_ERROR, "unlink(%s): %m", f->name);
+ msg(L_ERROR, "unlink(%s): %m", f->name);
case 0:
close(FB_FILE(f)->fd);
}
}
static struct fastbuf *
-bfdopen_internal(int fd, uns buflen, byte *name)
+bfdopen_internal(int fd, uns buflen, const char *name)
{
int namelen = strlen(name) + 1;
struct fb_file *F = xmalloc(sizeof(struct fb_file) + buflen + namelen);
}
struct fastbuf *
-bopen_try(byte *name, uns mode, uns buflen)
+bopen_try(const char *name, uns mode, uns buflen)
{
int fd = sh_open(name, mode, 0666);
if (fd < 0)
}
struct fastbuf *
-bopen(byte *name, uns mode, uns buflen)
+bopen(const char *name, uns mode, uns buflen)
{
if (!buflen)
return bopen_mm(name, mode);
{
bflush(b);
if (fsync(FB_FILE(b)->fd) < 0)
- log(L_ERROR, "fsync(%s) failed: %m", b->name);
+ msg(L_ERROR, "fsync(%s) failed: %m", b->name);
}
#ifdef TEST