Annotation of coherent/d/usr/lib/libcurses/bcopy.c, revision 1.1.1.1

1.1       root        1: /* $Header: /usr/src/lib/libcurses/RCS/bcopy.c,v 1.1 89/04/07 13:20:34 src Exp $
                      2:  *
                      3:  *     The  information  contained herein  is a trade secret  of INETCO
                      4:  *     Systems, and is confidential information.   It is provided under
                      5:  *     a license agreement,  and may be copied or disclosed  only under
                      6:  *     the terms of that agreement.   Any reproduction or disclosure of
                      7:  *     this  material  without  the express  written  authorization  of
                      8:  *     INETCO Systems or persuant to the license agreement is unlawful.
                      9:  *
                     10:  *     Copyright (c) 1989
                     11:  *     An unpublished work by INETCO Systems, Ltd.
                     12:  *     All rights reserved.
                     13:  */
                     14: 
                     15: /**
                     16:  *
                     17:  * void
                     18:  * bcopy( src, dst, len )              -- byte copy routine (Berkeley)
                     19:  * char * src, *dst;
                     20:  * int len;
                     21:  *
                     22:  *     Input:  src = source location.
                     23:  *             dst = destination location.
                     24:  *             len = number of bytes to be transferred.
                     25:  *
                     26:  *     Action: Copy 'len' bytes from location 'src' to location 'dst'.
                     27:  *
                     28:  *     Return: None.
                     29:  *
                     30:  *     Notes:  The 'bcopy' routine takes parameters backwards from
                     31:  *             the 'strcpy' and 'memcpy' routines.
                     32:  */
                     33: 
                     34: void
                     35: bcopy( src, dst, len )
                     36: register char * src, *dst;
                     37: int len;
                     38: {
                     39:        /*
                     40:         * Copy right to left in case insertion is taking place.
                     41:         */
                     42:        if ( dst > src ) {
                     43: 
                     44:                /*
                     45:                 * Advance just past the end of source/destination buffers.
                     46:                 */
                     47:                dst += len;
                     48:                src += len;
                     49: 
                     50:                /*
                     51:                 * Copy right to left.
                     52:                 */
                     53:                while ( --len >= 0 )
                     54:                        *--dst = *--src;
                     55:        }
                     56: 
                     57:        /*
                     58:         * Copy left to right.
                     59:         */
                     60:        else {
                     61:                for ( ; --len >= 0; src++, dst++ )
                     62:                        *dst = *src;
                     63:        }
                     64: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.