From: Ben Pfaff Date: Tue, 7 Dec 2010 04:54:40 +0000 (-0800) Subject: output: New function text_item_create_nocopy(). X-Git-Tag: v0.7.7~30 X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=417bac514fb3de900cb12689d8668d4d30a82e3f;p=pspp-builds.git output: New function text_item_create_nocopy(). --- diff --git a/src/output/text-item.c b/src/output/text-item.c index cb21caa2..15316562 100644 --- a/src/output/text-item.c +++ b/src/output/text-item.c @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 2009, 2011 Free Software Foundation, Inc. + Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -32,8 +32,10 @@ #include "gettext.h" #define _(msgid) gettext (msgid) -static struct text_item * -allocate_text_item (enum text_item_type type, char *text) +/* Creates and returns a new text item containing TEXT and the specified TYPE. + The new text item takes ownership of TEXT. */ +struct text_item * +text_item_create_nocopy (enum text_item_type type, char *text) { struct text_item *item = xmalloc (sizeof *item); output_item_init (&item->output_item, &text_item_class); @@ -47,7 +49,7 @@ allocate_text_item (enum text_item_type type, char *text) struct text_item * text_item_create (enum text_item_type type, const char *text) { - return allocate_text_item (type, xstrdup (text)); + return text_item_create_nocopy (type, xstrdup (text)); } /* Creates and returns a new text item containing a copy of FORMAT, which is @@ -60,7 +62,7 @@ text_item_create_format (enum text_item_type type, const char *format, ...) va_list args; va_start (args, format); - item = allocate_text_item (type, xvasprintf (format, args)); + item = text_item_create_nocopy (type, xvasprintf (format, args)); va_end (args); return item; diff --git a/src/output/text-item.h b/src/output/text-item.h index 5f1e8a2e..da1b208a 100644 --- a/src/output/text-item.h +++ b/src/output/text-item.h @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 2009, 2011 Free Sonftware Foundation, Inc. + Copyright (C) 2009, 2010, 2011 Free Sonftware Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -67,6 +67,7 @@ struct text_item }; struct text_item *text_item_create (enum text_item_type, const char *text); +struct text_item *text_item_create_nocopy (enum text_item_type, char *text); struct text_item *text_item_create_format (enum text_item_type, const char *format, ...) PRINTF_FORMAT (2, 3);