]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
* Constify the uid field of channel datastores
authorRussell Bryant <russell@russellbryant.com>
Tue, 28 Aug 2007 18:32:56 +0000 (18:32 +0000)
committerRussell Bryant <russell@russellbryant.com>
Tue, 28 Aug 2007 18:32:56 +0000 (18:32 +0000)
* Convert some spaces to tabs in func_volume
* Add a note in channel.h making it clear that none of the datastore API calls
  lock the channel they are given, so the channel should be locked before
  calling the functions that take a channel argument.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@81260 65c4cc65-6c06-0410-ace0-fbb531ad65f3

funcs/func_volume.c
include/asterisk/channel.h
main/channel.c

index 79fc13f3070a6188edd2521782d42a73bc29eacf..aca13fd4791c736036cb31ea16a9bc49c41a7a4c 100644 (file)
@@ -58,8 +58,8 @@ static void destroy_callback(void *data)
 
 /*! \brief Static structure for datastore information */
 static const struct ast_datastore_info volume_datastore = {
-        .type = "volume",
-        .destroy = destroy_callback
+       .type = "volume",
+       .destroy = destroy_callback
 };
 
 static int volume_callback(struct ast_audiohook *audiohook, struct ast_channel *chan, struct ast_frame *frame, enum ast_audiohook_direction direction)
index b24b25c795aa6cff6ded78de6baf1aedf1d6f0c1..11fb1df38d3ca44282dcbfd82bb2f63151a2237c 100644 (file)
@@ -195,7 +195,7 @@ struct ast_datastore_info {
 
 /*! \brief Structure for a channel data store */
 struct ast_datastore {
-       char *uid;              /*!< Unique data store identifier */
+       const char *uid;                /*!< Unique data store identifier */
        void *data;             /*!< Contained data */
        const struct ast_datastore_info *info;  /*!< Data store type information */
        unsigned int inheritance;       /*!< Number of levels this item will continue to be inherited */
@@ -615,8 +615,14 @@ enum channelreloadreason {
        CHANNEL_MANAGER_RELOAD,
 };
 
-/*! \brief Create a channel datastore structure */
-struct ast_datastore *ast_channel_datastore_alloc(const struct ast_datastore_info *info, char *uid);
+/*! 
+ * \brief Create a channel datastore structure 
+ *
+ * \note None of the datastore API calls lock the ast_channel they are using.
+ *       So, the channel should be locked before calling the functions that
+ *       take a channel argument.
+ */
+struct ast_datastore *ast_channel_datastore_alloc(const struct ast_datastore_info *info, const char *uid);
 
 /*! \brief Free a channel datastore structure */
 int ast_channel_datastore_free(struct ast_datastore *datastore);
@@ -631,7 +637,7 @@ int ast_channel_datastore_add(struct ast_channel *chan, struct ast_datastore *da
 int ast_channel_datastore_remove(struct ast_channel *chan, struct ast_datastore *datastore);
 
 /*! \brief Find a datastore on a channel */
-struct ast_datastore *ast_channel_datastore_find(struct ast_channel *chan, const struct ast_datastore_info *info, char *uid);
+struct ast_datastore *ast_channel_datastore_find(struct ast_channel *chan, const struct ast_datastore_info *info, const char *uid);
 
 /*! \brief Change the state of a channel */
 int ast_setstate(struct ast_channel *chan, enum ast_channel_state);
index 9d2460633855494c168ec94880e072374343b40b..1b4971eb15b1de7f3881d6148ae67f84865bbb2f 100644 (file)
@@ -1167,7 +1167,7 @@ void ast_channel_free(struct ast_channel *chan)
        ast_device_state_changed_literal(name);
 }
 
-struct ast_datastore *ast_channel_datastore_alloc(const struct ast_datastore_info *info, char *uid)
+struct ast_datastore *ast_channel_datastore_alloc(const struct ast_datastore_info *info, const char *uid)
 {
        struct ast_datastore *datastore = NULL;
 
@@ -1201,7 +1201,7 @@ int ast_channel_datastore_free(struct ast_datastore *datastore)
 
        /* Free allocated UID memory */
        if (datastore->uid != NULL) {
-               ast_free(datastore->uid);
+               ast_free((void *) datastore->uid);
                datastore->uid = NULL;
        }
 
@@ -1255,7 +1255,7 @@ int ast_channel_datastore_remove(struct ast_channel *chan, struct ast_datastore
        return res;
 }
 
-struct ast_datastore *ast_channel_datastore_find(struct ast_channel *chan, const struct ast_datastore_info *info, char *uid)
+struct ast_datastore *ast_channel_datastore_find(struct ast_channel *chan, const struct ast_datastore_info *info, const char *uid)
 {
        struct ast_datastore *datastore = NULL;