#include <rz_types.h>
#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <rz_util/rz_file.h>
#include <rz_util/rz_sys.h>
#include <rz_util/rz_utf8.h>
#include <rz_windows.h>
#include "sdb.h"
Go to the source code of this file.
◆ IFRET
Value:
Definition at line 76 of file disk.c.
◆ sdb_disk_create()
Definition at line 17 of file disk.c.
21 if (!
s ||
s->fdump >= 0) {
24 if (!
s->dir &&
s->name) {
27 dir =
s->dir ?
s->dir :
"./";
47 wchar_t *wstr = rz_utf8_to_utf16(
str);
58 eprintf(
"sdb: Cannot open '%s' for writing.\n",
str);
int cdb_make_start(struct cdb_make *c, int fd)
static static fork const void static count close
RZ_API void Ht_() free(HtName_(Ht) *ht)
memcpy(mem, inblock.get(), min(CONTAINING_RECORD(inblock.get(), MEMBLOCK, data) ->size, size))
void * malloc(size_t size)
return strdup("=SP r13\n" "=LR r14\n" "=PC r15\n" "=A0 r0\n" "=A1 r1\n" "=A2 r2\n" "=A3 r3\n" "=ZF zf\n" "=SF nf\n" "=OF vf\n" "=CF cf\n" "=SN or0\n" "gpr lr .32 56 0\n" "gpr pc .32 60 0\n" "gpr cpsr .32 64 0 ____tfiae_________________qvczn\n" "gpr or0 .32 68 0\n" "gpr tf .1 64.5 0 thumb\n" "gpr ef .1 64.9 0 endian\n" "gpr jf .1 64.24 0 java\n" "gpr qf .1 64.27 0 sticky_overflow\n" "gpr vf .1 64.28 0 overflow\n" "gpr cf .1 64.29 0 carry\n" "gpr zf .1 64.30 0 zero\n" "gpr nf .1 64.31 0 negative\n" "gpr itc .4 64.10 0 if_then_count\n" "gpr gef .4 64.16 0 great_or_equal\n" "gpr r0 .32 0 0\n" "gpr r1 .32 4 0\n" "gpr r2 .32 8 0\n" "gpr r3 .32 12 0\n" "gpr r4 .32 16 0\n" "gpr r5 .32 20 0\n" "gpr r6 .32 24 0\n" "gpr r7 .32 28 0\n" "gpr r8 .32 32 0\n" "gpr r9 .32 36 0\n" "gpr r10 .32 40 0\n" "gpr r11 .32 44 0\n" "gpr r12 .32 48 0\n" "gpr r13 .32 52 0\n" "gpr r14 .32 56 0\n" "gpr r15 .32 60 0\n" "gpr r16 .32 64 0\n" "gpr r17 .32 68 0\n")
RZ_API char * rz_file_dirname(const char *path)
RZ_API bool rz_sys_mkdirp(const char *dir)
References cdb_make_start(), close, eprintf, free(), malloc(), memcpy(), O_BINARY, O_CREAT, O_RDWR, O_TRUNC, rz_file_dirname(), RZ_FREE, rz_sys_mkdirp(), s, SDB_MODE, cmd_descs_generate::str, and strdup().
Referenced by sdb_sync().
◆ sdb_disk_finish()
Definition at line 79 of file disk.c.
80 bool reopen =
false, ret =
true;
82 #if HAVE_HEADER_SYS_MMAN_H
94 wchar_t *ndump_ = rz_utf8_to_utf16(
s->ndump);
95 wchar_t *dir_ = rz_utf8_to_utf16(
s->dir);
97 if (!MoveFileExW(ndump_, dir_, MOVEFILE_REPLACE_EXISTING)) {
103 if (
s->ndump &&
s->dir) {
bool cdb_init(struct cdb *c, int fd)
int cdb_make_finish(struct cdb_make *c)
static static sync static getppid static getegid const char static filename char static len const char char static bufsiz static mask static vfork const void static prot static getpgrp const char static swapflags static arg fsync
static static fork const void static count static fd const char static mode const char static pathname const char static path const char static dev const char static group static getpid static getuid void void static data static pause const char static mode static sync rename
RZ_API int sdb_open(Sdb *s, const char *file)
References cdb_init(), cdb_make_finish(), close, rz_socket_t::fd, free(), fsync, IFRET, NULL, rename, rz_sys_perror, s, and sdb_open().
Referenced by sdb_sync().
◆ sdb_disk_insert()
Definition at line 67 of file disk.c.
int cdb_make_add(struct cdb_make *c, const char *key, ut32 keylen, const char *data, ut32 datalen)
static static sync static getppid static getegid const char static filename char static len const char char static bufsiz static mask static vfork const void static prot static getpgrp const char static swapflags static arg static fd static protocol static who struct sockaddr static addrlen static backlog struct timeval struct timezone static tz const struct iovec static count static mode const void const struct sockaddr static tolen const char static pathname void static offset struct stat static buf void long static basep static whence static length const void static len key
References c, cdb_make_add(), key, s, and val.
Referenced by _insert_into_disk(), insertkeys(), and sdb_sync().
◆ sdb_disk_unlink()
Definition at line 121 of file disk.c.
122 return (
s->dir && *(
s->dir) &&
unlink(
s->dir) != -1);
static static fork const void static count static fd const char static mode unlink
References s, and unlink.
Referenced by sdb_unlink().