summaryrefslogtreecommitdiffstats
path: root/lib/libc/string/strxfrm.c
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>1995-02-18 11:36:33 +0000
committerache <ache@FreeBSD.org>1995-02-18 11:36:33 +0000
commit4fd94cf7956efed45122c9c3f61d5e4b00067e8e (patch)
treebbf9e3bdf183cce4f36c45952f91773e95377483 /lib/libc/string/strxfrm.c
parentaff5591acf4cc509ca3a7ffdc38199e307e5e399 (diff)
downloadFreeBSD-src-4fd94cf7956efed45122c9c3f61d5e4b00067e8e.zip
FreeBSD-src-4fd94cf7956efed45122c9c3f61d5e4b00067e8e.tar.gz
Minor optimization.
Diffstat (limited to 'lib/libc/string/strxfrm.c')
-rw-r--r--lib/libc/string/strxfrm.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/lib/libc/string/strxfrm.c b/lib/libc/string/strxfrm.c
index 6d6a13e..eb02c13 100644
--- a/lib/libc/string/strxfrm.c
+++ b/lib/libc/string/strxfrm.c
@@ -24,7 +24,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: strxfrm.c,v 1.2 1995/02/16 17:01:11 ache Exp $
+ * $Id: strxfrm.c,v 1.3 1995/02/18 01:39:00 ache Exp $
*/
#include <stdlib.h>
@@ -49,13 +49,15 @@ strxfrm(dest, src, len)
}
if (__collate_load_error) {
- size_t slen, ncopy;
+ size_t slen = strlen(src);
- slen = strlen(src);
- ncopy = slen < len ? slen : len - 1;
- (void)memcpy(d, src, ncopy);
- d[ncopy] = '\0';
- return ncopy;
+ if (slen < len) {
+ strcpy(d, src);
+ return slen;
+ }
+ strncpy(d, src, len - 1);
+ d[len - 1] = '\0';
+ return len - 1;
}
ss = s = __collate_substitute(src);
OpenPOWER on IntegriCloud