Changeset 06b0211b in mainline for boot/generic/src/memstr.c


Ignore:
Timestamp:
2013-04-29T11:29:45Z (12 years ago)
Author:
Vojtech Horky <vojtechhorky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
aa2b32c
Parents:
ba4799a (diff), df956b9b (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge mainline changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • boot/generic/src/memstr.c

    rba4799a r06b0211b  
    3030#include <typedefs.h>
    3131
    32 /** Copy block of memory.
     32/** Move memory block without overlapping.
    3333 *
    34  * Copy cnt bytes from src address to dst address.The source and destination
    35  * memory areas cannot overlap.
     34 * Copy cnt bytes from src address to dst address. The source
     35 * and destination memory areas cannot overlap.
    3636 *
    37  * @param src           Source address to copy from.
    38  * @param dst           Destination address to copy to.
    39  * @param cnt           Number of bytes to copy.
     37 * @param dst Destination address to copy to.
     38 * @param src Source address to copy from.
     39 * @param cnt Number of bytes to copy.
    4040 *
    41  * @return              Destination address.
     41 * @return Destination address.
     42 *
    4243 */
    4344void *memcpy(void *dst, const void *src, size_t cnt)
    4445{
    45         size_t i;
     46        uint8_t *dp = (uint8_t *) dst;
     47        const uint8_t *sp = (uint8_t *) src;
     48       
     49        while (cnt-- != 0)
     50                *dp++ = *sp++;
     51       
     52        return dst;
     53}
    4654
    47         for (i = 0; i < cnt; i++)
    48                 ((uint8_t *) dst)[i] = ((uint8_t *) src)[i];
    49 
     55/** Fill block of memory.
     56 *
     57 * Fill cnt bytes at dst address with the value val.
     58 *
     59 * @param dst Destination address to fill.
     60 * @param val Value to fill.
     61 * @param cnt Number of bytes to fill.
     62 *
     63 * @return Destination address.
     64 *
     65 */
     66void *memset(void *dst, int val, size_t cnt)
     67{
     68        uint8_t *dp = (uint8_t *) dst;
     69       
     70        while (cnt-- != 0)
     71                *dp++ = val;
     72       
    5073        return dst;
    5174}
Note: See TracChangeset for help on using the changeset viewer.