diff --git a/src/server/distrend.c b/src/server/distrend.c --- a/src/server/distrend.c +++ b/src/server/distrend.c @@ -18,7 +18,6 @@ */ -#include #include /* Just some notes -- Ethan Zonca @@ -33,18 +32,18 @@ int jobnum = 0; // Structures for storing job information // tweak char lengths to save on mem? -typedef struct { - char name[64]; - char submitter[64]; - char email[128]; +struct { + char *name; + char *submitter; + char *email; int priority; struct frameset **frameset; // array of frames as big as the total number of frames. Every value should be null/0 to start out with. Values can be changed to reflect frame render status. } blendjob[max]; -typedef struct { - char name[64]; - char submitter[64]; - char email[128]; +struct { + char *name; + char *submitter; + char *email; int priority; int mode; // 0 = Static Render, stop at Spp, or infinity if spp is null? Framerange is ignored.; 1 = animation, stop at Spp and stay in framerange. int spp; @@ -74,14 +73,14 @@ int main(int argc, char *argv[]) // Queuer: this function should add files to the queue // Type: 0 = blender, 1 = lux // jobnum is the current job number -void queue(int type, char *name, char *submitter, char *email, int priority, int mode, int spp, int **frameset) { +void queue(int type, char *name, char *submitter, char *email, int priority, int mode, int spp, struct frameset **frameset) { if(type == 1){ blendjob[jobnum].name = name; blendjob[jobnum].submitter = submitter; blendjob[jobnum].email = email; blendjob[jobnum].priority = priority; - blendjob[jobnum].frameset = frameset[frames]; // pointer? will this work? + blendjob[jobnum].frameset = frameset; } if(type == 2){ @@ -91,7 +90,7 @@ if(type == 2){ luxjob[jobnum].priority = priority; luxjob[jobnum].mode = mode; luxjob[jobnum].spp = spp; - luxjob[jobnum].frameset = frameset[frames]; + luxjob[jobnum].frameset = frameset; // handle lux modes somehow. } @@ -123,27 +122,28 @@ jobnum++; void exec_blender(char *input, char *output, int sframe, int eframe) { int ret; + /* SEGFAULTAGE :-D */ char *cmd[] = { "blender", "-b", "-o", output, input, "-s", sframe, "-e", eframe, (char *)0 }; - ret = execv ("/usr/bin/blender", cmd); + ret = execv("/usr/bin/blender", cmd); } void exec_luxrender_single(char *input, char *output) { int ret; char *cmd[] = { "luxrender", "-something", "something", "something", (char *)0 }; - ret = execv {"/usr/bin/luxrender", cmd); + ret = execv("/usr/bin/luxrender", cmd); } void exec_luxrender_anim(char *input, char *output, int sframe, int eframe, int spp) { // spp is samples per pixel limitation on each frame int ret; char *cmd[] = { "luxrender", "-something", "something", "something", (char *)0 }; - ret = execv {"/usr/bin/luxrender", cmd); + ret = execv ("/usr/bin/luxrender", cmd); } -void exec_imagemagick {char *input, char *output, char *opts) { + void exec_imagemagick (char *input, char *output, char *opts) { int ret; char *cmd[] = { "imagemagick", "-something", "something", "something", (char *)0 }; - ret = execv {"/usr/bin/imagemagick", cmd); + ret = execv ("/usr/bin/imagemagick", cmd); }