Mercurial > emacs
annotate src/terminfo.c @ 109748:e2f8226efb99
Fix -Wwrite_strings in general and for Gtk+ specific code.
* callproc.c (synch_process_death): Make const.
(Fcall_process): Make signame const.
* emacs.c (main): Pass char[] to putenv instead of literal.
* floatfns.c (matherr): Use a const char* variable for x->name.
* font.c (font_open_by_name): Make name const.
* font.h (font_open_by_name): Make name const.
* gtkutil.c (get_utf8_string): Always return an allocated string.
Parameter is const.
(create_dialog, xg_create_one_menuitem, create_menus)
(xg_item_label_same_p, xg_update_menu_item): Free result from
get_utf8_string.
(xg_separator_p, xg_item_label_same_p): label is const.
* gtkutil.h: Replace widget_value with struct _widget_value.
(enum button_type, struct _widget_value): Remove and use the one from
keyboard.h.
* keyboard.h (_widget_value): Add defined USE_GTK. Replace Boolean
with unsigned char and XtPointer with void *.
* menu.c (Fx_popup_menu): error_name is const.
* menu.h (w32_menu_show, ns_menu_show, xmenu_show): error parameter
is const char **.
* w32menu.c (w32_menu_show):
* nsmenu.m (ns_menu_show): error parameter is const char **.
* process.h (synch_process_death): Is const char*.
* xmenu.c (Fx_popup_dialog): error_name is const char*.
(xmenu_show): error parameter is const char **. pane_string is const
char *.
(button_names): Is const char *.
(xdialog_show): error_name and pane_string is const.
* xrdb.c (get_system_app): Make path const and use char *p for non-const
char.
* xselect.c (Fx_get_atom_name): Use char empty[] instead of literal "".
* xsmfns.c (NOSPLASH_OPT): Change to char[].
(smc_save_yourself_CB): Do xstrdup on all ->type and ->name for
props. Free them at the end.
* xterm.c (emacs_class): New char[] for EMACS_CLASS.
(xim_open_dpy, xim_initialize, xim_close_dpy): Use emacs_class.
(x_term_init): Use char[] display_opt and name_opt instead of
string literal. file is const char*.
author | Jan D <jan.h.d@swipnet.se> |
---|---|
date | Wed, 11 Aug 2010 14:34:46 +0200 |
parents | d4902495c889 |
children | 417b1e4d63cd |
rev | line source |
---|---|
484 | 1 /* Interface from Emacs to terminfo. |
75227
e90d04cd455a
Update copyright for years from Emacs 21 to present (mainly adding
Glenn Morris <rgm@gnu.org>
parents:
68651
diff
changeset
|
2 Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, |
106815 | 3 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. |
484 | 4 |
5 This file is part of GNU Emacs. | |
6 | |
94963
8971ddf55736
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79759
diff
changeset
|
7 GNU Emacs is free software: you can redistribute it and/or modify |
484 | 8 it under the terms of the GNU General Public License as published by |
94963
8971ddf55736
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79759
diff
changeset
|
9 the Free Software Foundation, either version 3 of the License, or |
8971ddf55736
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79759
diff
changeset
|
10 (at your option) any later version. |
484 | 11 |
12 GNU Emacs is distributed in the hope that it will be useful, | |
13 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 GNU General Public License for more details. | |
16 | |
17 You should have received a copy of the GNU General Public License | |
94963
8971ddf55736
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79759
diff
changeset
|
18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
484 | 19 |
16118 | 20 #include <config.h> |
105669
68dd71358159
* alloc.c: Do not define struct catchtag.
Dan Nicolaescu <dann@ics.uci.edu>
parents:
100951
diff
changeset
|
21 #include <setjmp.h> |
25324 | 22 #include "lisp.h" |
16118 | 23 |
484 | 24 /* Define these variables that serve as global parameters to termcap, |
25 so that we do not need to conditionalize the places in Emacs | |
26 that set them. */ | |
27 | |
28 char *UP, *BC, PC; | |
16118 | 29 |
484 | 30 /* Interface to curses/terminfo library. |
31 Turns out that all of the terminfo-level routines look | |
32 like their termcap counterparts except for tparm, which replaces | |
33 tgoto. Not only is the calling sequence different, but the string | |
34 format is different too. | |
35 */ | |
36 | |
37 char * | |
109540
d4902495c889
* terminfo.c (tparam): Fix prototype of tparm (followup to revno:100891).
Juanma Barranquero <lekktu@gmail.com>
parents:
109126
diff
changeset
|
38 tparam (char *string, char *outstring, |
d4902495c889
* terminfo.c (tparam): Fix prototype of tparm (followup to revno:100891).
Juanma Barranquero <lekktu@gmail.com>
parents:
109126
diff
changeset
|
39 int len, int arg1, int arg2, int arg3, int arg4, |
d4902495c889
* terminfo.c (tparam): Fix prototype of tparm (followup to revno:100891).
Juanma Barranquero <lekktu@gmail.com>
parents:
109126
diff
changeset
|
40 int arg5, int arg6, int arg7, int arg8, int arg9) |
484 | 41 { |
42 char *temp; | |
109540
d4902495c889
* terminfo.c (tparam): Fix prototype of tparm (followup to revno:100891).
Juanma Barranquero <lekktu@gmail.com>
parents:
109126
diff
changeset
|
43 extern char *tparm (char *str, ...); |
484 | 44 |
45 temp = tparm (string, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); | |
46 if (outstring == 0) | |
25324 | 47 outstring = ((char *) (xmalloc ((strlen (temp)) + 1))); |
484 | 48 strcpy (outstring, temp); |
49 return outstring; | |
50 } | |
52401 | 51 |
52 /* arch-tag: a6f96a69-e68f-4e9d-a223-f0b0da26ead5 | |
53 (do not change this comment) */ |