]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
added zap_strndup
authorMoises Silva <moy@sangoma.com>
Fri, 4 Dec 2009 18:25:48 +0000 (18:25 +0000)
committerMoises Silva <moy@sangoma.com>
Fri, 4 Dec 2009 18:25:48 +0000 (18:25 +0000)
git-svn-id: http://svn.openzap.org/svn/openzap/branches/sangoma_boost@928 a93c3328-9c30-0410-af19-c9cd2b2d52af

libs/freetdm/src/include/openzap.h
libs/freetdm/src/zap_io.c

index b114e844fb3ee49b4428c16a43868906094ca9ca..64791f4eec373904871c4986cdb8e9557456f5fd 100644 (file)
@@ -652,6 +652,7 @@ OZ_DECLARE(zap_status_t) zap_global_set_queue_handler(zap_queue_handler_t *handl
 
 /*! \brief Duplicate string */
 OZ_DECLARE(char *) zap_strdup(const char *str);
+OZ_DECLARE(char *) zap_strndup(const char *str, zap_size_t inlen);
 
 OZ_DECLARE(zap_size_t) zap_fsk_modulator_generate_bit(zap_fsk_modulator_t *fsk_trans, int8_t bit, int16_t *buf, zap_size_t buflen);
 OZ_DECLARE(int32_t) zap_fsk_modulator_generate_carrier_bits(zap_fsk_modulator_t *fsk_trans, uint32_t bits);
index b967a4c4185a32420bc038511f295c47aeb13d6f..ba95e94bbfd7cc73da4aaec4ab29c2fb41779d66 100644 (file)
@@ -3252,6 +3252,24 @@ OZ_DECLARE(char *) zap_strdup(const char *str)
        return (char *)memcpy(new, str, len);
 }
 
+OZ_DECLARE(char *) zap_strndup(const char *str, zap_size_t inlen)
+{
+       char *new = NULL;
+       zap_size_t len = strlen(str) + 1;
+       if (len > (inlen+1)) {
+               len = inlen+1;
+       }
+       new = (char *)zap_malloc(len);
+
+       if (!new) {
+               return NULL;
+       }
+       
+       memcpy(new, str, len-1);
+       new[len-1] = 0;
+       return new;
+}
+
 
 /* For Emacs:
  * Local Variables: