diff --git a/src/display.c b/src/display.c index 52dd522..d45b3cf 100644 --- a/src/display.c +++ b/src/display.c @@ -46,7 +46,7 @@ statisch nichts print_current_image(konstant struktur message* msg, zahl start, void prntscreen(const struct message *msg, const struct prog_info *pinfo); void callback(const struct message *msg, const struct prog_info *pinfo) { -// printf("in callback, tst=%d\n", msg->timestamp); + //printf("in callback, tst=%d\n", msg->timestamp); // calculate the actual offset to use //int start = msg->timestamp % msg->width + pinfo->client_offset; diff --git a/src/image.c b/src/image.c index 7fc08ef..6c37a44 100644 --- a/src/image.c +++ b/src/image.c @@ -1,5 +1,12 @@ +#include +#include +#include +#include // MAX + #include "image.h" +#define LINELEN 20000 + char *readImage(const char* filename, int *cols, int *rows) { printf("fopen\n"); @@ -13,7 +20,7 @@ char *readImage(const char* filename, int *cols, int *rows) { if (f) { while (fgets(linebuf, LINELEN, f)) { int len = strlen(linebuf); - *cols = len>*cols?len:*cols; + *cols = MAX(len, *cols); (*rows)++; } @@ -31,3 +38,4 @@ char *readImage(const char* filename, int *cols, int *rows) { return ret; } + diff --git a/src/image.h b/src/image.h index 4735e46..b3b7ba0 100644 --- a/src/image.h +++ b/src/image.h @@ -1,12 +1,6 @@ #ifndef __IMAGE #define __IMAGE -#include -#include -#include - -#define LINELEN 20000 - char *readImage(const char* filename, int *cols, int *rows); #endif diff --git a/src/main.c b/src/main.c index 0aedce2..5e1479c 100644 --- a/src/main.c +++ b/src/main.c @@ -13,6 +13,10 @@ #define MODE_SERVER 0 #define MODE_CLIENT 1 +void die() { + cleanup_display(); + exit(1); +} int parseArgs(struct prog_info *pinfo, int argc, char **argv) { pinfo->mode = MODE_SERVER; @@ -128,8 +132,9 @@ int main(int argc, char **argv) { prog_info.width = prog_info.width>(w*2)?prog_info.width:(w*2); ret = run_server(&prog_info, image, w, h); } else { - printf("running in CLIENT mode, using client number %d\n", prog_info.client_offset); - signal(SIGINT,&cleanup_display); + printf("running in CLIENT mode, using client offset %d\n", prog_info.client_offset); + signal(SIGINT,&die); + signal(SIGTERM,&die); ret = run_client(&prog_info, callback); }