/**************************************************************************** * * Copyright (c) 2003 Dave Hylands * All Rights Reserved * * Permission is granted to any individual or institution to use, copy, or * redistribute this software so long as it is not sold for profit, and that * this copyright notice is retained. * ****************************************************************************/ /** * * @file StrMaxCat.cpp * * @brief Implements StrMaxCat, a bounded string concatenation routine. * ****************************************************************************/ /* ---- Include Files ---------------------------------------------------- */ #include "Str.h" #include /* ---- Public Variables ------------------------------------------------- */ /* ---- Private Constants and Types -------------------------------------- */ /* ---- Private Variables ------------------------------------------------ */ /* ---- Private Function Prototypes -------------------------------------- */ /* ---- Functions -------------------------------------------------------- */ /** * @addtogroup Str * @{ */ /***************************************************************************/ /** * Concatenates source to the destination, but makes sure that the * destination string (including terminating null), doesn't exceed maxLen. * * @param dst (mod) String to concatnate onto. * @param src (in) String to being added to the end of @a dst. * @param maxLen (in) Maximum length that @a dst is allowed to be. * * @return A pointer to the destination string. */ char *StrMaxCat( char *dst, const char *src, size_t maxLen ) { size_t dstLen = strlen( dst ); if ( dstLen < maxLen ) { StrMaxCpy( &dst[ dstLen ], src, maxLen - dstLen ); } return dst; } /* StrMaxCat */ /** @} */