[504] in BarnOwl Developers
[D-O-H] r627 - trunk/owl
daemon@ATHENA.MIT.EDU (asedeno@MIT.EDU)
Thu Oct 29 18:06:53 2009
Resent-From: nelhage@mit.edu
Resent-To: barnowl-dev-mtg@charon.mit.edu
To: dirty-owl-hackers@mit.edu
From: asedeno@MIT.EDU
Reply-to: dirty-owl-hackers@MIT.EDU
Date: Fri, 23 Feb 2007 15:21:49 -0500 (EST)
Author: asedeno
Date: 2007-02-23 15:21:48 -0500 (Fri, 23 Feb 2007)
New Revision: 627
Modified:
trunk/owl/util.c
Log:
Once more, dealing better with free().
Modified: trunk/owl/util.c
===================================================================
--- trunk/owl/util.c 2007-02-23 20:12:49 UTC (rev 626)
+++ trunk/owl/util.c 2007-02-23 20:21:48 UTC (rev 627)
@@ -742,18 +742,24 @@
*/
char * owl_util_baseclass(char * class)
{
- char * newClass;
- char * end;
- newClass = owl_strdup(class);
- while(!strncmp(newClass, "un", 2)) {
- newClass += 2;
+ char *newClass;
+ char *ret;
+ char *start, *end;
+
+ start = newClass = owl_strdup(class);
+ while(!strncmp(start, "un", 2)) {
+ start += 2;
}
- end = newClass + strlen(newClass) - 1;
+ end = start + strlen(start) - 1;
while(*end == 'd' && *(end-1) == '.') {
end -= 2;
}
*(end + 1) = 0;
- return newClass;
+
+ ret = owl_strdup(start);
+ owl_free(newClass);
+
+ return ret;
}
/**************************************************************************/