CVS: rdesktop xkeymap.c,1.71,1.72

Peter Åstrand <[email protected]>
Newsgroups gmane.network.rdesktop.cvs
Message-ID <[email protected]>
Update of /cvsroot/rdesktop/rdesktop
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4259

Modified Files:
	xkeymap.c 
Log Message:
Free mem before assigning new objects to keymap.


Index: xkeymap.c
===================================================================
RCS file: /cvsroot/rdesktop/rdesktop/xkeymap.c,v
retrieving revision 1.71
retrieving revision 1.72
diff -C2 -d -r1.71 -r1.72
*** xkeymap.c	2 Aug 2005 15:07:34 -0000	1.71
--- xkeymap.c	2 Aug 2005 18:07:56 -0000	1.72
***************
*** 55,58 ****
--- 55,72 ----
  static void update_modifier_state(uint8 scancode, BOOL pressed);
  
+ /* Free key_translation structure, included linked list */
+ void
+ free_key_translation(key_translation * ptr)
+ {
+ 	key_translation *next;
+ 
+ 	while (ptr)
+ 	{
+ 		next = ptr->next;
+ 		xfree(ptr);
+ 		ptr = next;
+ 	}
+ }
+ 
  static void
  add_to_keymap(char *keyname, uint8 scancode, uint16 modifiers, char *mapname)
***************
*** 75,78 ****
--- 89,93 ----
  	tr->scancode = scancode;
  	tr->modifiers = modifiers;
+ 	free_key_translation(keymap[keysym & KEYMAP_MASK]);
  	keymap[keysym & KEYMAP_MASK] = tr;
  
***************
*** 107,110 ****
--- 122,126 ----
  	DEBUG_KBD(("Adding sequence for keysym (0x%lx, %s) -> ", keysym, keyname));
  
+ 	free_key_translation(keymap[keysym & KEYMAP_MASK]);
  	prev_next = &keymap[keysym & KEYMAP_MASK];
  
***************
*** 140,144 ****
  }
  
- 
  static BOOL
  xkeymap_read(char *mapname)
--- 156,159 ----



-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.