X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Fplugins%2Ffd%2Fbpipe-fd.c;h=d6091fce93863fbe248b59391cd03c1bff967f74;hb=7c3df9d20a1d06c21b33c6f03a583aeac0585cf6;hp=df6a8dbfefddc83b30d34fc5e0d84748c153e858;hpb=d8d3d547da2361fd1f53f1fa7226cdae9f1ee9b3;p=bacula%2Fbacula diff --git a/bacula/src/plugins/fd/bpipe-fd.c b/bacula/src/plugins/fd/bpipe-fd.c index df6a8dbfef..d6091fce93 100644 --- a/bacula/src/plugins/fd/bpipe-fd.c +++ b/bacula/src/plugins/fd/bpipe-fd.c @@ -1,7 +1,7 @@ /* Bacula® - The Network Backup Solution - Copyright (C) 2007-2008 Free Software Foundation Europe e.V. + Copyright (C) 2007-2010 Free Software Foundation Europe e.V. The main author of Bacula is Kern Sibbald, with contributions from many others, a complete list can be found in the file AUTHORS. @@ -47,7 +47,7 @@ extern "C" { static const int dbglvl = 150; -#define PLUGIN_LICENSE "GPLv2" +#define PLUGIN_LICENSE "Bacula GPLv2" #define PLUGIN_AUTHOR "Kern Sibbald" #define PLUGIN_DATE "January 2008" #define PLUGIN_VERSION "1" @@ -173,6 +173,9 @@ static bRC newPlugin(bpContext *ctx) static bRC freePlugin(bpContext *ctx) { struct plugin_ctx *p_ctx = (struct plugin_ctx *)ctx->pContext; + if (!p_ctx) { + return bRC_Error; + } if (p_ctx->cmd) { free(p_ctx->cmd); /* free any allocated command string */ } @@ -203,6 +206,10 @@ static bRC setPluginValue(bpContext *ctx, pVariable var, void *value) static bRC handlePluginEvent(bpContext *ctx, bEvent *event, void *value) { struct plugin_ctx *p_ctx = (struct plugin_ctx *)ctx->pContext; + if (!p_ctx) { + return bRC_Error; + } + // char *name; /* @@ -211,6 +218,10 @@ static bRC handlePluginEvent(bpContext *ctx, bEvent *event, void *value) * what is really going on. */ switch (event->eventType) { + case bEventPluginCommand: + bfuncs->DebugMessage(ctx, fi, li, dbglvl, + "bpipe-fd: PluginCommand=%s\n", (char *)value); + break; case bEventJobStart: bfuncs->DebugMessage(ctx, fi, li, dbglvl, "bpipe-fd: JobStart=%s\n", (char *)value); break; @@ -268,11 +279,12 @@ static bRC handlePluginEvent(bpContext *ctx, bEvent *event, void *value) *p++ = 0; /* terminate reader string */ p_ctx->writer = p; // printf("bpipe-fd: plugin=%s fname=%s reader=%s writer=%s\n", - p_ctx->cmd, p_ctx->fname, p_ctx->reader, p_ctx->writer); +// p_ctx->cmd, p_ctx->fname, p_ctx->reader, p_ctx->writer); break; default: // printf("bpipe-fd: unknown event=%d\n", event->eventType); + break; } return bRC_OK; } @@ -283,6 +295,9 @@ static bRC handlePluginEvent(bpContext *ctx, bEvent *event, void *value) static bRC startBackupFile(bpContext *ctx, struct save_pkt *sp) { struct plugin_ctx *p_ctx = (struct plugin_ctx *)ctx->pContext; + if (!p_ctx) { + return bRC_Error; + } time_t now = time(NULL); sp->fname = p_ctx->fname; sp->type = FT_REG; @@ -317,6 +332,9 @@ static bRC endBackupFile(bpContext *ctx) static bRC pluginIO(bpContext *ctx, struct io_pkt *io) { struct plugin_ctx *p_ctx = (struct plugin_ctx *)ctx->pContext; + if (!p_ctx) { + return bRC_Error; + } io->status = 0; io->io_errno = 0;