diff --git a/osdd-set.h b/osdd-set.h index 37eb2618ae4993e9ea021e6c041a05b064950d99..b8fbadc6fa97987523cae968b35be7d396f34d08 100644 --- a/osdd-set.h +++ b/osdd-set.h @@ -17,8 +17,6 @@ typedef struct _IO_FILE FILE; struct display_state; -#define OSD_MAX_LINE_LEN 1024 - #define OSD_TRIE_LEN (26+10+1) struct osd_set_trie @@ -44,7 +42,7 @@ struct osd_line { char *outline_color; int outline_width; union { // Data dependent on type - char text[OSD_MAX_LINE_LEN]; // in UTF-8 + char * text; // in UTF-8 unsigned int percent; // 0..100 for percentages and slider } u; }; diff --git a/osdd.c b/osdd.c index b1637cb1d872511c74bc8a48a7a6dc353530ad9c..e29fcde158f63276998de96210c4e7df9b310ee9 100644 --- a/osdd.c +++ b/osdd.c @@ -230,7 +230,7 @@ parse_msg(unsigned char *buf, int len) if (!key[0]) { l = msg_add_line(msg, OSD_TYPE_TEXT); - sprintf(l->u.text, "%.*s", OSD_MAX_LINE_LEN, val); + l->u.text = val; } else if (!strcmp(key, "percentage") || !strcmp(key, "percent")) {