From f1664c170760cbfce0ab2698557424304d22e63e Mon Sep 17 00:00:00 2001 From: agiersch Date: Fri, 11 Feb 2011 17:01:08 +0000 Subject: [PATCH] Review const attribute for pointers.. The main goal for this patch is to remove the cast for the argument of free() in MSG_action_runner(). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@9613 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- examples/msg/actions/actions.c | 30 +++++++++++++------------- include/msg/msg.h | 2 +- include/xbt/replay_trace_reader.h | 2 +- include/xbt/str.h | 2 +- src/msg/msg_actions.c | 10 ++++----- src/simix/README_attempt_without_stack | 4 ++-- src/xbt/xbt_replay_trace_reader.c | 2 +- src/xbt/xbt_str.c | 2 +- 8 files changed, 27 insertions(+), 27 deletions(-) diff --git a/examples/msg/actions/actions.c b/examples/msg/actions/actions.c index aec65c79b4..0b42753d65 100644 --- a/examples/msg/actions/actions.c +++ b/examples/msg/actions/actions.c @@ -18,7 +18,7 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(actions, "Messages specific for this msg example"); int communicator_size = 0; -static void action_Isend(char*const* action); +static void action_Isend(const char *const *action); typedef struct { int last_Irecv_sender_id; @@ -61,7 +61,7 @@ static void asynchronous_cleanup(void) { } /* My actions */ -static void action_send(char*const* action) +static void action_send(const char *const *action) { char *name = NULL; char to[250]; @@ -100,7 +100,7 @@ static void action_send(char*const* action) asynchronous_cleanup(); } -static void action_Isend(char*const* action) +static void action_Isend(const char *const *action) { char to[250]; const char *size = action[3]; @@ -120,7 +120,7 @@ static void action_Isend(char*const* action) } -static void action_recv(char*const* action) +static void action_recv(const char *const *action) { char *name = NULL; char mailbox_name[250]; @@ -155,7 +155,7 @@ static void action_recv(char*const* action) asynchronous_cleanup(); } -static void action_Irecv(char*const* action) +static void action_Irecv(const char *const *action) { char mailbox[250]; double clock = MSG_get_clock(); @@ -191,7 +191,7 @@ static void action_Irecv(char*const* action) } -static void action_wait(char*const* action) +static void action_wait(const char *const *action) { char *name = NULL; m_task_t task = NULL; @@ -229,7 +229,7 @@ static void action_wait(char*const* action) } /* FIXME: that's a poor man's implementation: we should take the message exchanges into account */ -static void action_barrier(char*const* action) +static void action_barrier(const char *const *action) { char *name = NULL; static smx_mutex_t mutex = NULL; @@ -269,7 +269,7 @@ static void action_barrier(char*const* action) } -static void action_reduce(char*const* action) +static void action_reduce(const char *const *action) { int i; char *reduce_identifier; @@ -323,7 +323,7 @@ static void action_reduce(char*const* action) free(reduce_identifier); } -static void action_bcast(char*const* action) +static void action_bcast(const char *const *action) { int i; char *bcast_identifier; @@ -373,7 +373,7 @@ static void action_bcast(char*const* action) } -static void action_sleep(char*const* action) +static void action_sleep(const char *const *action) { char *name = NULL; const char *duration = action[2]; @@ -390,7 +390,7 @@ static void action_sleep(char*const* action) free(name); } -static void action_allReduce(char*const* action) { +static void action_allReduce(const char *const *action) { int i; char *allreduce_identifier; char mailbox[80]; @@ -462,7 +462,7 @@ static void action_allReduce(char*const* action) { free(allreduce_identifier); } -static void action_comm_size(char*const* action) +static void action_comm_size(const char *const *action) { char *name = NULL; const char *size = action[2]; @@ -476,7 +476,7 @@ static void action_comm_size(char*const* action) free(name); } -static void action_compute(char*const* action) +static void action_compute(const char *const *action) { char *name = NULL; const char *amout = action[2]; @@ -493,7 +493,7 @@ static void action_compute(char*const* action) free(name); } -static void action_init(char*const* action) +static void action_init(const char *const *action) { #ifdef HAVE_TRACING TRACE_smpi_init(get_rank(MSG_process_get_name(MSG_process_self()))); @@ -507,7 +507,7 @@ static void action_init(char*const* action) } -static void action_finalize(char*const* action) +static void action_finalize(const char *const *action) { #ifdef HAVE_TRACING TRACE_smpi_finalize(get_rank(MSG_process_get_name(MSG_process_self()))); diff --git a/include/msg/msg.h b/include/msg/msg.h index 2003d336ac..6498242b17 100644 --- a/include/msg/msg.h +++ b/include/msg/msg.h @@ -217,7 +217,7 @@ XBT_PUBLIC(MSG_error_t) double timeout); /************************** Action handling **********************************/ -typedef void (*msg_action_fun) (char*const* args); +typedef void (*msg_action_fun) (const char *const *args); XBT_PUBLIC(void) MSG_action_register(const char *action_name, msg_action_fun function); XBT_PUBLIC(void) MSG_action_unregister(const char *action_name); diff --git a/include/xbt/replay_trace_reader.h b/include/xbt/replay_trace_reader.h index f1bc66e5a3..f405a73b98 100644 --- a/include/xbt/replay_trace_reader.h +++ b/include/xbt/replay_trace_reader.h @@ -15,7 +15,7 @@ SG_BEGIN_DECL() typedef struct s_replay_trace_reader *xbt_replay_trace_reader_t; xbt_replay_trace_reader_t xbt_replay_trace_reader_new(const char*filename); -char * const *xbt_replay_trace_reader_get(xbt_replay_trace_reader_t reader); +const char **xbt_replay_trace_reader_get(xbt_replay_trace_reader_t reader); void xbt_replay_trace_reader_free(xbt_replay_trace_reader_t *reader); const char *xbt_replay_trace_reader_position(xbt_replay_trace_reader_t reader); diff --git a/include/xbt/str.h b/include/xbt/str.h index 93a987bc5e..c7b4ed1597 100644 --- a/include/xbt/str.h +++ b/include/xbt/str.h @@ -37,7 +37,7 @@ XBT_PUBLIC(xbt_dynar_t) xbt_str_split_quoted_in_place(char *s); XBT_PUBLIC(xbt_dynar_t) xbt_str_split_str(const char *s, const char *sep); XBT_PUBLIC(char *) xbt_str_join(xbt_dynar_t dynar, const char *sep); -XBT_PUBLIC(char *) xbt_str_join_array(char*const* strs, const char *sep); +XBT_PUBLIC(char *) xbt_str_join_array(const char *const *strs, const char *sep); /* */ XBT_PUBLIC(void) xbt_str_subst(char *str, char from, char to, int amount); diff --git a/src/msg/msg_actions.c b/src/msg/msg_actions.c index b7a54c516d..022ffb1257 100644 --- a/src/msg/msg_actions.c +++ b/src/msg/msg_actions.c @@ -21,7 +21,7 @@ static FILE *action_fp = NULL; static char *action_line = NULL; static size_t action_len = 0; -static char*const* action_get_action(char *name); +static const char **action_get_action(char *name); /** \ingroup msg_actions * \brief Registers a function to handle a kind of action @@ -51,13 +51,13 @@ void MSG_action_unregister(const char *action_name) static int MSG_action_runner(int argc, char *argv[]) { - char *const*evt; + const char **evt; if (action_fp) { // A unique trace file while ((evt = action_get_action(argv[0]))) { msg_action_fun function = xbt_dict_get(action_funs, evt[1]); (*function) (evt); - free((char**)evt); + free(evt); } } else { // Should have got my trace file in argument xbt_assert1(argc >= 2, @@ -70,7 +70,7 @@ static int MSG_action_runner(int argc, char *argv[]) if (!strcmp(argv[0],evt[0])) { msg_action_fun function = xbt_dict_get(action_funs, evt[1]); (*function) (evt); - free((char**)evt); + free(evt); } else { WARN1("%s: Ignore trace element not for me", xbt_replay_trace_reader_position(reader)); @@ -95,7 +95,7 @@ void _MSG_action_exit() } -static char*const* action_get_action(char *name) +static const char **action_get_action(char *name) { ssize_t read; xbt_dynar_t evt = NULL; diff --git a/src/simix/README_attempt_without_stack b/src/simix/README_attempt_without_stack index 4985d0cc97..f69afc4c9c 100644 --- a/src/simix/README_attempt_without_stack +++ b/src/simix/README_attempt_without_stack @@ -46,7 +46,7 @@ A simple to use and efficient trace parser is also provided: void replay_trace_reader_free(replay_trace_reader_t *reader); /* get a new event. Don't free the content, strdup what you want to keep after next call to reader_get() */ - const char * const*replay_trace_reader_get(replay_trace_reader_t r); + const char **replay_trace_reader_get(replay_trace_reader_t r); /* return a "file:pos" description of the last thing we read. */ const char *replay_trace_reader_position(replay_trace_reader_t r); Check replay_trace_reader.c for souce code, and replay_MPI.c for @@ -113,4 +113,4 @@ argument to the run_fun(). Isn't all this beautifully awful?? A few gotos in your code are just -what you need to go 20 years back to the good old time of gwbasic... \ No newline at end of file +what you need to go 20 years back to the good old time of gwbasic... diff --git a/src/xbt/xbt_replay_trace_reader.c b/src/xbt/xbt_replay_trace_reader.c index cb0cec5e0d..e9eaea9740 100644 --- a/src/xbt/xbt_replay_trace_reader.c +++ b/src/xbt/xbt_replay_trace_reader.c @@ -39,7 +39,7 @@ const char *xbt_replay_trace_reader_position(xbt_replay_trace_reader_t reader) return reader->position; } -char * const *xbt_replay_trace_reader_get(xbt_replay_trace_reader_t reader) +const char **xbt_replay_trace_reader_get(xbt_replay_trace_reader_t reader) { ssize_t read; xbt_dynar_t d; diff --git a/src/xbt/xbt_str.c b/src/xbt/xbt_str.c index a0b6bfa015..d0fbddfd8f 100644 --- a/src/xbt/xbt_str.c +++ b/src/xbt/xbt_str.c @@ -541,7 +541,7 @@ char *xbt_str_join(xbt_dynar_t dyn, const char *sep) * The parameter must be a NULL-terminated array of chars, * just like xbt_dynar_to_array() produces */ -char *xbt_str_join_array(char*const* strs, const char *sep) +char *xbt_str_join_array(const char *const *strs, const char *sep) { char *res,*q; int amount_strings=0; -- 2.20.1