[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ODP: [elmo-users] drobiazgi
From: |
Szymon |
Subject: |
Re: ODP: [elmo-users] drobiazgi |
Date: |
Thu, 25 Sep 2003 20:23:49 +0200 |
User-agent: |
elmo/0.8.3 |
rzyjontko napisał:
> > iseek = initials = xmalloc (len); ===== chyba jednak `len +
>
> Znowu nie widzę pełnego kodu funkcji, więc nie mam pewności, że to jest
> źle. Faktycznie, gdyby address->name składało się z jednej litery,
> mógłby tu chyba wystąpić błąd.
>
> Tak czy inaczej dziękuję za "code-review".
Proszę bardzo.
static void
make_initials (address_t *addr, memblock_t **data_block)
{
int len;
int first = 1;
char *seek;
char *initials;
char *iseek;
if (addr->name == NULL)
return;
len = strlen (addr->name);
if (len < 1)
return;
iseek = initials = xmalloc (len); ===== +1 ? =====
for (seek = addr->name; *seek; seek++){
if (isalpha (*seek) && first){
*iseek = *seek;
first = 0;
iseek++;
}
else if (isspace (*seek)){
first = 1;
}
}
*iseek = '\0'; ===== tutaj mi sie nie podoba, używasz strlen... =====
===== a potem coś takiego... =====
===== tak wogóle to sorry =====
===== nadsyłać ewentualne wątpliwości ? ======
===== dla Ciebie to chyba strata czasu ? ======
addr->initials = memblock_strdup (data_block, initials);
xfree (initials);
}
pozdrawiam, szymon