logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

assert_perror - test errnum and abort

Attributes

       For an explanation of the terms used in this section, see attributes(7).
       ┌─────────────────────────────────────────────────────────────────────────────┬───────────────┬─────────┐
       │ InterfaceAttributeValue   │
       ├─────────────────────────────────────────────────────────────────────────────┼───────────────┼─────────┤
       │ assert_perror()                                                             │ Thread safety │ MT-Safe │
       └─────────────────────────────────────────────────────────────────────────────┴───────────────┴─────────┘

Bugs

       The  purpose  of the assert macros is to help programmers find bugs in their programs, things that cannot
       happen unless there was a coding mistake.  However, with system or library calls the situation is  rather
       different,  and  error  returns can happen, and will happen, and should be tested for.  Not by an assert,
       where the test goes away when NDEBUG is defined, but by proper  error  handling  code.   Never  use  this
       macro.

Description

       If  the  macro  NDEBUG  was defined at the moment <assert.h> was last included, the macro assert_perror()
       generates no code, and hence does nothing at all.  Otherwise, the macro assert_perror() prints  an  error
       message  to  standard  error  and  terminates  the program by calling abort(3) if errnum is nonzero.  The
       message contains the filename, function name and line number  of  the  macro  call,  and  the  output  of
       strerror(errnum).

Library

       Standard C library (libc, -lc)

Name

       assert_perror - test errnum and abort

Return Value

       No value is returned.

See Also

abort(3), assert(3), exit(3), strerror(3)

Linux man-pages 6.9.1                              2024-05-02                                   assert_perror(3)

Standards

       GNU.

Synopsis

#define_GNU_SOURCE         /* See feature_test_macros(7) */
       #include<assert.h>voidassert_perror(interrnum);

See Also