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

memswap - swap the contents of two memory blocks

Author

       Lars Wirzenius (lars.wirzenius@helsinki.fi)

Publib                                        C Programmer's Manual                                MEMSWAP(3pub)

Bugs

       Using memswap to swap small portions of memory is inefficient.  It is not worth it  to  use  it  to  swap
       variables  of  any of the basic types, for instance.  Use inline code for such cases.  However, for large
       portions of memory, e.g., arrays, it is convenient.

       memswap can't swap variables whose address can't be taken.  This excludes  variables  with  the  register
       specifier  and  bitfields  in structs.  But then, there is no way to write a function (or macro) that can
       handle any kind of arguments.  Life is hard.

Description

memswap  will  swap the contents of the two blocks pointed by its first two arguments.  The last argument
       gives the size of the memory blocks.

Example

       To swap two structs, one might do the following.

            struct tm tm1, tm2;

            memswap(&tm1, &tm2, sizeof(struct tm));

Name

       memswap - swap the contents of two memory blocks

See Also

publib(3)

Synopsis

       #include <publib.h>
       void memswap(void *block1, void *block2, size_t n);

See Also