X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Fdird%2Fpythondir.c;h=8a1034851000414ec44a82c6111a8614d52a37a6;hb=a88224a3ce120783d72e770ff9a04fcac635333a;hp=241e79a3d3f9a0e30116c928b94fdc66ee4e4c8d;hpb=33e29b97e1786e71ef0156369436a78ab16090ff;p=bacula%2Fbacula diff --git a/bacula/src/dird/pythondir.c b/bacula/src/dird/pythondir.c index 241e79a3d3..8a10348510 100644 --- a/bacula/src/dird/pythondir.c +++ b/bacula/src/dird/pythondir.c @@ -20,7 +20,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - Bacula® is a registered trademark of John Walker. + Bacula® is a registered trademark of Kern Sibbald. The licensor of Bacula is the Free Software Foundation Europe (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich, Switzerland, email:ftf@fsfeurope.org. @@ -42,12 +42,9 @@ #undef _POSIX_C_SOURCE #include -extern char *configfile; -extern struct s_jl joblevels[]; -extern JCR *get_jcr_from_PyObject(PyObject *self); -extern PyObject *find_method(PyObject *eventsObject, PyObject *method, - const char *name); +#include +extern struct s_jl joblevels[]; static PyObject *set_job_events(PyObject *self, PyObject *arg); static PyObject *job_run(PyObject *self, PyObject *arg); @@ -64,7 +61,6 @@ PyMethodDef JobMethods[] = { {NULL, NULL, 0, NULL} /* last item */ }; - struct s_vars { const char *name; const char *fmt; @@ -140,9 +136,9 @@ PyObject *job_getattr(PyObject *self, char *attrname) case 0: /* Job */ return Py_BuildValue((char *)getvars[i].fmt, jcr->job->hdr.name); case 1: /* level */ - return Py_BuildValue((char *)getvars[i].fmt, job_level_to_str(jcr->JobLevel)); + return Py_BuildValue((char *)getvars[i].fmt, job_level_to_str(jcr->get_JobLevel())); case 2: /* type */ - return Py_BuildValue((char *)getvars[i].fmt, job_type_to_str(jcr->JobType)); + return Py_BuildValue((char *)getvars[i].fmt, job_type_to_str(jcr->get_JobType())); case 3: /* JobId */ return Py_BuildValue((char *)getvars[i].fmt, jcr->JobId); case 4: /* Client */ @@ -294,12 +290,14 @@ int job_setattr(PyObject *self, char *attrname, PyObject *value) PyErr_SetString(PyExc_RuntimeError, _("Job Level can be set only during JobInit")); return -1; } - for (i=0; joblevels[i].level_name; i++) { - if (strcmp(strval, joblevels[i].level_name) == 0) { - if (joblevels[i].job_type == jcr->JobType) { - jcr->JobLevel = joblevels[i].level; - jcr->jr.JobLevel = jcr->JobLevel; - return 0; + if (strval != NULL) { + for (i=0; joblevels[i].level_name; i++) { + if (strcmp(strval, joblevels[i].level_name) == 0) { + if (joblevels[i].job_type == jcr->get_JobType()) { + jcr->set_JobLevel(joblevels[i].level); + jcr->jr.JobLevel = jcr->get_JobLevel(); + return 0; + } } } }