* of the GNU Lesser General Public License.
*/
-#include "ucw/lib.h"
-#include "ucw/fastbuf.h"
-#include "ucw/lfs.h"
-#include "ucw/conf.h"
-#include "ucw/trans.h"
+#include <ucw/lib.h>
+#include <ucw/fastbuf.h>
+#include <ucw/io.h>
+#include <ucw/conf.h>
+#include <ucw/trans.h>
#include <string.h>
#include <fcntl.h>
#include <unistd.h>
-static uns trace;
+static uint trace;
#ifndef TEST
static struct cf_section fbatomic_config = {
CF_ITEMS {
- CF_UNS("Trace", &trace)
+ CF_UINT("Trace", &trace),
+ CF_END
}
};
#endif
+#define FB_ATOMIC(f) ((struct fb_atomic *)(f))
#define TRACE(m...) do { if(trace) msg(L_DEBUG, "FB_ATOMIC: " m); } while(0)
struct fb_atomic_file {
int fd;
int use_count;
int record_len;
- uns locked;
+ uint locked;
byte name[1];
};
struct fb_atomic *F = FB_ATOMIC(f);
if (F->af->locked)
{
- uns written = f->bptr - f->buffer;
- uns size = f->bufend - f->buffer + F->slack_size;
+ uint written = f->bptr - f->buffer;
+ uint size = f->bufend - f->buffer + F->slack_size;
F->slack_size *= 2;
TRACE("Reallocating buffer for atomic file %s with slack %d", f->name, F->slack_size);
f->buffer = xrealloc(f->buffer, size);
f->bufend = f->buffer + size;
f->bptr = f->buffer + written;
+ f->bstop = f->buffer;
F->expected_max_bptr = f->bufend - F->slack_size;
}
else
}
struct fastbuf *
-fbatomic_open(const char *name, struct fastbuf *master, uns bufsize, int record_len)
+fbatomic_open(const char *name, struct fastbuf *master, uint bufsize, int record_len)
{
struct fb_atomic *F = xmalloc_zero(sizeof(*F));
struct fastbuf *f = &F->fb;