X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=sched.c;h=0a1cff28521dfe12c8f75316b1a1ce35206c1918;hb=69a294cd641c623db61f46ee86901845789a1c7b;hp=b92774fa95d4d1a0e4870c6e58a42130bc9bbe5b;hpb=721ab0e5ab4b6533e0464e61ad655596f9f6904c;p=paraslash.git diff --git a/sched.c b/sched.c index b92774fa..0a1cff28 100644 --- a/sched.c +++ b/sched.c @@ -20,7 +20,7 @@ struct task { /** The task name supplied when the task was registered(). */ - char name[255]; + char *name; /** Copied from the task_info struct during task_register(). */ void (*pre_select)(struct sched *s, struct task *t); /** Copied from the task_info struct during task_register(). */ @@ -64,6 +64,7 @@ static void unlink_and_free_task(struct task *t) { PARA_INFO_LOG("freeing task %s\n", t->name); list_del(&t->node); + free(t->name); free(t); } @@ -239,8 +240,7 @@ struct task *task_register(struct task_info *info, struct sched *s) if (!s->task_list.next) INIT_LIST_HEAD(&s->task_list); - snprintf(t->name, sizeof(t->name) - 1, "%s", info->name); - t->name[sizeof(t->name) - 1] = '\0'; + t->name = para_strdup(info->name); t->notification = 0; t->status = 0; t->dead = false;