[Devel] [Devel-commit] Commit selta/selta list_char.c, 1.23, 1.24, list_char.h, 1.15, 1.16, yylex.l, 1.61, 1.62, yyparser.y, 1.87, 1.88,

Vitaly Lipatov =?iso-8859-1?q?lav_=CE=C1_etersoft=2Eru?=
Пн Мар 16 12:34:55 MSK 2009


В сообщении от 12 марта 2009 Anatoly Lyutin написал(a):
> goga на etersoft.ru пишет:
> > Update of /var/local/cvsroot/selta/selta
> > In directory server.office.etersoft.ru:/tmp/.private/goga/cvs-serv30486
> >
> > Modified Files:
> > 	list_char.c list_char.h yylex.l yyparser.y
> > Log Message:
> > исправление ошибок с _insert_"TableName" и CharLower()
> >
> > +char * rm_quotes(char * s)
> > +{
> > +	//printf("rm_quo\n");
> > +	char * tmp = (char
> > *)malloc((strlen(s)-1)*sizeof(char)*(stat_mem?1:LIC_MEM)); +	int i=0;
> > +	for(i=0;i<strlen(s)-1;i++) tmp[i] = s[i+1];
> > +	tmp[strlen(s)-2]=0;
> > +	return tmp;
> >  }
>
> strlen(s) - лучше вычислить один раз
> tmp проверить на то, что память выделилась.
> если длина строки 0 или 1, то всё упадёт.
Нельзя ли вообще не выделять память под новую строку, а исправлять 
(укорачивать существующую строку s?


-- 
С уважением,
Виталий Липатов
Россия, Санкт-Петербург. www.etersoft.ru
GNU! ALT Linux Team! WINE! WIKI! LaTeX! LyX!


Подробная информация о списке рассылки devel