- Adapted indenation to new agreed upon system
- Added support for second generation scriptcontext based counter
This commit is contained in:
42
savehdb.c
42
savehdb.c
@ -3,12 +3,13 @@
|
||||
#include "statusfile.h"
|
||||
#include "sicshipadaba.h"
|
||||
|
||||
static void SaveHdbBranch(pHdb node, FILE *fil) {
|
||||
static void SaveHdbBranch(pHdb node, FILE * fil)
|
||||
{
|
||||
pHdb child;
|
||||
char prop[16];
|
||||
pDynString dyn;
|
||||
char path[1024];
|
||||
|
||||
|
||||
if (GetHdbProperty(node, "save", prop, sizeof prop)) {
|
||||
if (strcmp(prop, "me") == 0) {
|
||||
dyn = formatValue(node->value, node);
|
||||
@ -22,36 +23,39 @@ static void SaveHdbBranch(pHdb node, FILE *fil) {
|
||||
}
|
||||
}
|
||||
|
||||
static int SaveHdbTree(void *object, char *name, FILE *fil) {
|
||||
static int SaveHdbTree(void *object, char *name, FILE * fil)
|
||||
{
|
||||
pHdb node;
|
||||
|
||||
|
||||
SaveHdbBranch(GetHipadabaRoot(), fil);
|
||||
return 1;
|
||||
}
|
||||
|
||||
static hdbCallbackReturn SaveHdbCallback(pHdb node, void *userData,
|
||||
pHdbMessage message) {
|
||||
pHdbDataMessage mm = NULL;
|
||||
|
||||
if((mm = GetHdbUpdateMessage(message)) == NULL){
|
||||
return hdbContinue;
|
||||
static hdbCallbackReturn SaveHdbCallback(pHdb node, void *userData,
|
||||
pHdbMessage message)
|
||||
{
|
||||
pHdbDataMessage mm = NULL;
|
||||
|
||||
if ((mm = GetHdbUpdateMessage(message)) == NULL) {
|
||||
return hdbContinue;
|
||||
}
|
||||
|
||||
|
||||
StatusFileDirty();
|
||||
return hdbContinue;;
|
||||
}
|
||||
|
||||
static int SaveHdbEnable(SConnection *con, SicsInterp *sics,
|
||||
void *data, int argc, char *argv[]) {
|
||||
static int SaveHdbEnable(SConnection * con, SicsInterp * sics,
|
||||
void *data, int argc, char *argv[])
|
||||
{
|
||||
pHdb node;
|
||||
char prop[16];
|
||||
pHdbCallback cb;
|
||||
|
||||
|
||||
if (argc < 2) {
|
||||
SCPrintf(con, eError, "ERROR: should be: %s <path>", argv[0]);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
node = FindHdbNode(NULL, argv[1], con);
|
||||
if (!node) {
|
||||
SCPrintf(con, eError, "ERROR: %s not found", argv[1]);
|
||||
@ -59,7 +63,7 @@ static int SaveHdbEnable(SConnection *con, SicsInterp *sics,
|
||||
}
|
||||
cb = MakeHipadabaCallback(SaveHdbCallback, NULL, NULL);
|
||||
assert(cb);
|
||||
AppendHipadabaCallback(node,cb);
|
||||
AppendHipadabaCallback(node, cb);
|
||||
|
||||
SetHdbProperty(node, "save", "me");
|
||||
for (node = node->mama; node != NULL; node = node->mama) {
|
||||
@ -71,10 +75,12 @@ static int SaveHdbEnable(SConnection *con, SicsInterp *sics,
|
||||
return 1;
|
||||
}
|
||||
|
||||
void SaveHdbInit(void) {
|
||||
void SaveHdbInit(void)
|
||||
{
|
||||
pDummy hs = NULL;
|
||||
|
||||
hs = CreateDummy("hdb saver");
|
||||
hs->pDescriptor->SaveStatus = SaveHdbTree;
|
||||
AddCommandWithFlag(pServ->pSics, "hsave", SaveHdbEnable, KillDummy, hs, 0);
|
||||
AddCommandWithFlag(pServ->pSics, "hsave", SaveHdbEnable, KillDummy, hs,
|
||||
0);
|
||||
}
|
||||
|
Reference in New Issue
Block a user