# V2526. MISRA. The functions from time.h/ctime should not be used.

Данное диагностическое правило основано на руководстве MISRA (Motor Industry Software Reliability Association) по разработке программного обеспечения.

Анализатор выдаст предупреждение, если обнаружит использование следующих функций: 'clock'; 'time'; 'difftime'; 'ctime'; 'asctime'; 'gmtime'; 'localtime'; 'mktime'.

Перечисленные функции имеют неуточненное поведение или поведение, определенное реализацией, и поэтому могут выдаваться разные форматы времени и даты (в зависимости от окружения, реализации стандартной библиотеки, и т. д.).

Пример кода, на который анализатор выдаст предупреждения:

    const char* Foo(time_t *p)
    {
        time_t t = time(p);
        return ctime(t);
    }

Для языка С анализатор также выдаст предупреждение, если обнаружит объявление макроса с одним из соответствующих имён.

Данная диагностика классифицируется как:

MISRA-C-2012-21.10 MISRA-C-2023-21.10 MISRA-CPP-2008-18.0.4