X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/4a47c2757309e338321da1e7a2f6d399a306ce7d..2b943ba68988e9925cf50f4df37550f0342370dd:/lwlib/lwlib.c diff --git a/lwlib/lwlib.c b/lwlib/lwlib.c index 1f434e5b61..7d9920e8bc 100644 --- a/lwlib/lwlib.c +++ b/lwlib/lwlib.c @@ -1,7 +1,7 @@ /* A general interface to the widgets of different toolkits. + Copyright (C) 1992, 1993 Lucid, Inc. -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2003, 2004, - 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +Copyright (C) 1994-1996, 1999-2013 Free Software Foundation, Inc. This file is part of the Lucid Widget Library. @@ -16,20 +16,16 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with GNU Emacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ +along with GNU Emacs. If not, see . */ -#ifdef HAVE_CONFIG_H #include -#endif #include -#include "../src/lisp.h" +#include +#include #include #include -#include #include "lwlib-int.h" #include "lwlib-utils.h" #include @@ -75,7 +71,6 @@ static widget_value *merge_widget_value (widget_value *, widget_value *, int, int *); static void instantiate_widget_instance (widget_instance *); -static int my_strcasecmp (const char *, const char *); static void safe_free_str (char *); static void free_widget_value_tree (widget_value *); static widget_value *copy_widget_value_tree (widget_value *, @@ -110,37 +105,15 @@ safe_strdup (const char *s) { char *result; if (! s) return 0; - result = (char *) malloc (strlen (s) + 1); - if (! result) - return 0; + result = (char *) xmalloc (strlen (s) + 1); strcpy (result, s); return result; } -/* Like strcmp but ignore differences in case. */ - -static int -my_strcasecmp (const char *s1, const char *s2) -{ - while (1) - { - int c1 = *s1++; - int c2 = *s2++; - if (isupper (c1)) - c1 = tolower (c1); - if (isupper (c2)) - c2 = tolower (c2); - if (c1 != c2) - return (c1 > c2 ? 1 : -1); - if (c1 == 0) - return 0; - } -} - static void safe_free_str (char *s) { - free (s); + xfree (s); } static widget_value *widget_value_free_list = 0; @@ -158,7 +131,7 @@ malloc_widget_value (void) } else { - wv = (widget_value *) malloc (sizeof (widget_value)); + wv = (widget_value *) xmalloc (sizeof (widget_value)); malloc_cpt++; } memset ((void*) wv, 0, sizeof (widget_value)); @@ -178,7 +151,7 @@ free_widget_value (widget_value *wv) { /* When the number of already allocated cells is too big, We free it. */ - free (wv); + xfree (wv); malloc_cpt--; } else @@ -194,9 +167,9 @@ free_widget_value_tree (widget_value *wv) if (!wv) return; - free (wv->name); - free (wv->value); - free (wv->key); + xfree (wv->name); + xfree (wv->value); + xfree (wv->key); wv->name = wv->value = wv->key = (char *) 0xDEADBEEF; @@ -258,7 +231,7 @@ allocate_widget_info (const char* type, lw_callback post_activate_cb, lw_callback highlight_cb) { - widget_info* info = (widget_info*)malloc (sizeof (widget_info)); + widget_info* info = (widget_info*) xmalloc (sizeof (widget_info)); info->type = safe_strdup (type); info->name = safe_strdup (name); info->id = id; @@ -283,7 +256,7 @@ free_widget_info (widget_info *info) safe_free_str (info->name); free_widget_value_tree (info->val); memset ((void*)info, 0xDEADBEEF, sizeof (widget_info)); - free (info); + xfree (info); } static void @@ -300,7 +273,7 @@ static widget_instance * allocate_widget_instance (widget_info* info, Widget parent, Boolean pop_up_p) { widget_instance* instance = - (widget_instance*)malloc (sizeof (widget_instance)); + (widget_instance*) xmalloc (sizeof (widget_instance)); memset (instance, 0, sizeof *instance); instance->parent = parent; instance->pop_up_p = pop_up_p; @@ -319,7 +292,7 @@ static void free_widget_instance (widget_instance *instance) { memset ((void*)instance, 0xDEADBEEF, sizeof (widget_instance)); - free (instance); + xfree (instance); } static widget_info * @@ -424,7 +397,7 @@ safe_strcmp (const char *s1, const char *s2) (nc == STRUCTURAL_CHANGE ? "structural" : "???")))), \ nc, desc, a1, a2) #else -# define EXPLAIN(name, oc, nc, desc, a1, a2) +# define EXPLAIN(name, oc, nc, desc, a1, a2) ((void) 0) #endif @@ -604,7 +577,7 @@ name_to_widget (widget_instance *instance, const char *name) widget = XtNameToWidget (instance->widget, real_name); - free (real_name); + xfree (real_name); } return widget; } @@ -733,7 +706,7 @@ find_in_table (const char *type, const widget_creation_entry *table) { const widget_creation_entry* cur; for (cur = table; cur->type; cur++) - if (!my_strcasecmp (type, cur->type)) + if (!c_strcasecmp (type, cur->type)) return cur->function; return NULL; } @@ -914,8 +887,9 @@ destroy_one_instance (widget_instance *instance) xaw_destroy_instance (instance); else #endif - /* do not remove the empty statement */ - ; + { + /* Empty compound statement to terminate if-then-else chain. */ + } } free_widget_instance (instance); @@ -980,7 +954,7 @@ lw_destroy_all_pop_ups (void) } #ifdef USE_MOTIF -extern Widget first_child (/* Widget */); /* garbage */ +extern Widget first_child (Widget); /* garbage */ #endif Widget @@ -1157,9 +1131,9 @@ lw_get_widget_value_for_widget (widget_instance *instance, Widget w) /* To forbid recursive calls */ static Boolean lwlib_updating; -/* This function can be used as a an XtCallback for the widgets that get - modified to update other instances of the widgets. Closure should be the - widget_instance. */ +/* This function can be used as an XtCallback for the widgets that get + modified to update other instances of the widgets. Closure should be the + widget_instance. */ void lw_internal_update_other_instances (Widget widget, XtPointer closure, @@ -1421,6 +1395,3 @@ lw_separator_p (const char *label, enum menu_separator *type, int motif_p) return separator_p; } - -/* arch-tag: 3d730f36-a441-4a71-9971-48ef3b5a4d9f - (do not change this comment) */