[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,

Anatoly Lyutin =?iso-8859-1?q?vostok_=CE=C1_etersoft=2Eru?=
Чт Мар 19 16:33:27 MSK 2009


Vitaly Lipatov пишет:
> В сообщении от 16 марта 2009 Anatoly Lyutin написал(a):
> ..
> Да, но думаю это не наш случай :)
>   
Что-то мне эта функция не даёт покоя :))


+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;
 }

Предлагаю заменить на :

char * rm_quotes( char *pcSource )
{
    char   *pcRet = NULL;
    size_t   stLen = 0;

    if (!pcSource))
       return NULL;

    stLen = strlen(pcSource);

    if (stLen > 2)
       pcRet = strndup( pcSource + 1, stLen - 1);

    return pcRet;
 }

Или надо обязательно учитывать stat_mem?1:LIC_MEM ?





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