| Line |  | 
|---|
| 1 | /* $Id: string.cpp,v 1.1 1999-12-09 10:58:15 sandervl Exp $ */ | 
|---|
| 2 | /* | 
|---|
| 3 | * Project Odin Software License can be found in LICENSE.TXT | 
|---|
| 4 | * strncpy replacement (one in RTL lib is buggy; doesn't stop at 0 terminator) | 
|---|
| 5 | * | 
|---|
| 6 | * Copyright 1999 Sander van Leeuwen | 
|---|
| 7 | * Copyright 1999 Patrick Haller | 
|---|
| 8 | * | 
|---|
| 9 | */ | 
|---|
| 10 | #include <stdio.h> | 
|---|
| 11 |  | 
|---|
| 12 | char * _LNK_CONV __strncpy( char *dest, const char *src, size_t length) | 
|---|
| 13 | { | 
|---|
| 14 | register char *p1 = dest; | 
|---|
| 15 | register char *p2 = (char *)src; | 
|---|
| 16 |  | 
|---|
| 17 | length--; // pre-decrement to avoid exceeding buffer length | 
|---|
| 18 | // results in better code than (dest > 1) | 
|---|
| 19 |  | 
|---|
| 20 | for (;*p2 && length; length--) | 
|---|
| 21 | *p1++ = *p2++; | 
|---|
| 22 |  | 
|---|
| 23 | *p1 = 0; //CB: copy arg-1, set end 0 | 
|---|
| 24 |  | 
|---|
| 25 | return dest; | 
|---|
| 26 | } | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.