Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ memory(S) — OpenDesktop Software Development System 3.0.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought


 memory(S)                      6 January 1993                      memory(S)


 Name

    memory: memccpy, memchr, memcmp, memcpy, memset - memory operations

 Syntax


    cc  . . .  -lc


    #include <memory.h>

    char *memccpy (s1, s2, c, n)
    char *s1, *s2;
    int c, n;

    void *memchr (s, c, n)
    const void *s;
    int c;

    size_t n;
    int memcmp (s1, s2, n)
    const void *s1, *s2;
    size_t n;

    void *memcpy (s1, s2, n)
    void *s1;
    const *s2;
    size_t n;

    void *memset (s, c, n)
    void *s;
    int c;
    size_t n;


    SVID Syntax


    char *memcpy (s1, s2, n)
    void *s1;
    const *s2;
    size_t n;


 Description

    These functions operate as efficiently as possible on memory areas
    (arrays of characters bounded by a count, not terminated by a null char-
    acter).  They do not check for the overflow of any receiving memory area.

    memccpy copies characters from memory area s2 into s1, stopping after the
    first occurrence of character c has been copied, or after n characters
    have been copied, whichever comes first.  It returns a pointer to the
    character after the copy of c in s1, or a NULL pointer if c was not found
    in the first n characters of s2.

    memchr returns a pointer to the first occurrence of character c in the
    first n characters of memory area s, or a NULL pointer if c does not
    occur.

    memcmp compares its arguments, looking at the first n characters only,
    and returns an integer less than, equal to, or greater than 0, according
    as s1 is lexicographically less than, equal to, or greater than s2.

    memcpy copies n characters from memory area s2 to s1.  It returns s1.

    memset sets the first n characters in memory area s to the value of char-
    acter c.  It returns s.

    For user convenience, all these functions are declared in the optional
    <memory.h> header file.

 Notes

    memcmp is implemented by using the most natural character comparison on
    the machine.  Thus the sign of the value returned when one of the charac-
    ters has its high order bit set is not the same in all implementations
    and should not be relied upon.

    Character movement is performed differently in different implementations.
    Thus overlapping moves may yield surprises.

 Standards conformance

    memccpy is conformant with:
    AT&T SVID Issue 2;
    X/Open Portability Guide, Issue 3, 1989;
    Intel386 Binary Compatibility Specification, Edition 2 (iBCSe2).

    memchr, memcmp, memcpy and memset are conformant with:
    AT&T SVID Issue 2;
    X/Open Portability Guide, Issue 3, 1989;
    ANSI X3.159-1989 Programming Language -- C;
    and Intel386 Binary Compatibility Specification, Edition 2 (iBCSe2).

    The <memory.h> header file has been withdrawn from XPG3.


Typewritten Software • bear@typewritten.org • Edmonds, WA 98026