The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск пакетного менеджера Pacman 5.0"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Заметили полезную информацию ? Пожалуйста добавьте в FAQ на WIKI.
. "Выпуск пакетного менеджера Pacman 5.0" +1 +/
Сообщение от Нимано (?), 02-Фев-16, 03:20 
>> strcpy(mempcpy(mempcpy(r, f, a + 1), i, b), e);
> Из контекста не вырывайте, пожалуйста.

https://github.com/systemd/systemd/blob/fdb4ee00f022863ceee9...


int unit_name_replace_instance(const char *f, const char *i, char **ret) {
        const char *p, *e;
        char *s;
        size_t a, b;

        assert(f);
        assert(i);
        assert(ret);

        if (!unit_name_is_valid(f, UNIT_NAME_INSTANCE|UNIT_NAME_TEMPLATE))
                return -EINVAL;
        if (!unit_instance_is_valid(i))
                return -EINVAL;

        assert_se(p = strchr(f, '@'));
        assert_se(e = strrchr(f, '.'));

        a = p - f;
        b = strlen(i);

        s = new(char, a + 1 + b + strlen(e) + 1);
        if (!s)
                return -ENOMEM;

        strcpy(mempcpy(mempcpy(s, f, a + 1), i, b), e);

        *ret = s;
        return 0;
}

> strcpy(mempcpy(mempcpy(function_result, file_name, character_before_last_slash_index_in_file_name + 1), new_file_name, last_slash_index_in_new_file_name), file_extension);

не передергивайте.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Выпуск пакетного менеджера Pacman 5.0, opennews, 31-Янв-16, 00:34  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру