From 757ea9f06e8648bf2d3c6582a0c2b6f2ab48ed26 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Fri, 20 May 2016 15:48:08 +0200 Subject: [PATCH] various doc cleanups --- doc/doxygen/deployment.doc | 34 +++++++++--------- doc/doxygen/index.doc | 1 + doc/doxygen/module-msg.doc | 4 ++- doc/doxygen/modules.doc | 6 ---- doc/doxygen/pls.doc | 6 ++-- examples/msg/README.doc | 4 +-- include/xbt/config.h | 22 +----------- src/simix/smx_vm.cpp | 64 ++++++++++++++++------------------ src/surf/AsClusterTorus.cpp | 15 ++++---- src/surf/HostImpl.hpp | 2 -- src/surf/network_interface.hpp | 3 +- src/surf/sg_platf.cpp | 3 +- src/xbt/xbt_matrix.c | 37 ++++++++++---------- src/xbt/xbt_str.c | 8 ++--- 14 files changed, 91 insertions(+), 118 deletions(-) diff --git a/doc/doxygen/deployment.doc b/doc/doxygen/deployment.doc index 107b44b3ca..7168ff3a65 100644 --- a/doc/doxygen/deployment.doc +++ b/doc/doxygen/deployment.doc @@ -1,29 +1,29 @@ -/*! \page deployment Deploy the simulation +/*! @page deployment Deploy the simulation -\section dep_over Overview +@section dep_over Overview When you want to simulate the behavior of your code with SimGrid, you need to tell SimGrid exactly what code (that you wrote) is supposed to be run by which host - so you need to assign -processes/functions to hosts. The hosts in question here are the hosts of your platform model; see Section \ref platform for details on how to set one up. +processes/functions to hosts. The hosts in question here are the hosts of your platform model; see Section @ref platform for details on how to set one up. -This assignment of the form \c code -> \c host is what the deployment file is all about, which will +This assignment of the form @c code -> @c host is what the deployment file is all about, which will be discussed briefly here. -\note +@note You can bypass the deployment file by hardcoding it in your user code, at least when you're using MSG. -The deployment file looks just like a \ref platform "platform" file, except that in -this case, only two different tags are used: \c process and \c argument, whereas +The deployment file looks just like a @ref platform "platform" file, except that in +this case, only two different tags are used: @c process and @c argument, whereas the latter is just used to supply additional configuration options to the process; the -order in which the \c argument tags are given is important and depends on the application. +order in which the @c argument tags are given is important and depends on the application. ### The process tag ### #### Attribute list #### -%As already written above, the \c process tag is the tag that defines which host -executes which function (from your application). Hence, the \c host and \c function +%As already written above, the @c process tag is the tag that defines which host +executes which function (from your application). Hence, the @c host and @c function attributes are mandatory; however, there are some optional attributes to the process tag. Here is a list of all attributes of this tag: | Attribute name | Mandatory | Values | Description | @@ -36,14 +36,14 @@ attributes are mandatory; however, there are some optional attributes to the pro #### An example #### -A complete example including a \ref MSG_ext_ms_application "deployment file" can be found -in the Section \ref MSG_ex_basics "MSG basics". +A complete example including a @ref MSG_ext_ms_application "deployment file" can be found +in the Section @ref msg_ex_basics "MSG basics". -See also files such as \c examples/msg/masterslave/deployment_masterslave.xml. +See also files such as @c examples/msg/masterslave/deployment_masterslave.xml. ### The argument tag ### -This tag must always be contained by a \c process tag - it doesn't make sense +This tag must always be contained by a @c process tag - it doesn't make sense without it. The way this works is that the order of arguments must be pre-defined by the user: @@ -59,9 +59,9 @@ executed by this process) in the order you declare them. #### An example #### -A complete example including a \ref MSG_ext_ms_application "deployment file" can be found -in the Section \ref MSG_ex_basics "MSG basics". +A complete example including a @ref MSG_ext_ms_application "deployment file" can be found +in the Section @ref msg_ex_basics "MSG basics". -See also files such as \c examples/msg/masterslave/deployment_masterslave.xml. +See also files such as @c examples/msg/masterslave/deployment_masterslave.xml. */ diff --git a/doc/doxygen/index.doc b/doc/doxygen/index.doc index b3d247e12b..878274d5dd 100644 --- a/doc/doxygen/index.doc +++ b/doc/doxygen/index.doc @@ -13,6 +13,7 @@ - @subpage getting_started - @subpage install - @subpage application + - @subpage MSG_API - @subpage platform - @subpage deployment - @subpage options diff --git a/doc/doxygen/module-msg.doc b/doc/doxygen/module-msg.doc index 71851e2f67..f502bd8e15 100644 --- a/doc/doxygen/module-msg.doc +++ b/doc/doxygen/module-msg.doc @@ -1,4 +1,6 @@ -/** \addtogroup MSG_API +/** +@defgroup MSG_API MSG: Simple API for Concurrent Sequential Process Algorithms +@brief Simple programming environment MSG was the first distributed programming environment provided within SimGrid, and is still the most commonly used nowadays. If you are unsure of the interface diff --git a/doc/doxygen/modules.doc b/doc/doxygen/modules.doc index 783a39247f..4b48cc44b2 100644 --- a/doc/doxygen/modules.doc +++ b/doc/doxygen/modules.doc @@ -1,9 +1,3 @@ -/** -@defgroup MSG_API MSG -@brief Simple programming environment - -*/ - /** @defgroup XBT_API XBT @brief The core toolbox of SimGrid, containing usefull datatypes and friends diff --git a/doc/doxygen/pls.doc b/doc/doxygen/pls.doc index 8c421bf7e3..b4ca1a0369 100644 --- a/doc/doxygen/pls.doc +++ b/doc/doxygen/pls.doc @@ -87,9 +87,9 @@ A ns-3 platform is automatically created from the provided SimGrid platform file More about ns-3 simulator (Official website) -\subsection pls_examples Examples +\subsection ns3_examples Examples -There is an example in the \c examples/ folder, that shows how to use the bindings. See also the \ref MSG_ex_PLS -"documentation for this example". +For an example using NS3 as a SimGrid module, please refer to the +@ref msg_ex_ns3 "relevant section" of the documentation. */ diff --git a/examples/msg/README.doc b/examples/msg/README.doc index d36331117c..db0ce0d273 100644 --- a/examples/msg/README.doc +++ b/examples/msg/README.doc @@ -6,7 +6,7 @@ documentation, but it should remain readable directly. @ingroup MSG_API @brief Find the MSG example fitting your needs from the extensive set provided in the archive. - - @ref msg_ex_basic + - @ref msg_ex_basics - @ref msg_ex_async - @ref msg_ex_process - @ref msg_ex_tracing @@ -18,7 +18,7 @@ documentation, but it should remain readable directly. - @ref msg_ex_apps - @ref msg_ex_misc -@section msg_ex_basic Basic examples and features +@section msg_ex_basics Basic examples and features - Ping Pong: @ref examples/msg/app-pingpong/app-pingpong.c\n It's hard to think of a simpler example: it is just sending one diff --git a/include/xbt/config.h b/include/xbt/config.h index b5df791099..3e87a94cfe 100644 --- a/include/xbt/config.h +++ b/include/xbt/config.h @@ -43,27 +43,7 @@ SG_BEGIN_DECL() * * \section XBT_cfg_ex Example of use * - * \dontinclude config.c - * - * First, let's create a configuration set with some registered variables. - * This must be done by the configurable library before the user interactions. - * - * \skip make_set - * \until end_of_make_set - * - * Now, set and get a single value - * \skip get_single_value - * \skip int - * \until cfg_free - * - * And now, set and get a multiple value - * \skip get_multiple_value - * \skip dyn - * \until cfg_free - * - * All those functions throws mismatch_error if asked to deal with an unregistered variable. - * \skip myset - * \until cfg_free + * TBD */ /** @defgroup XBT_cfg_use User interface: changing values * @ingroup XBT_config diff --git a/src/simix/smx_vm.cpp b/src/simix/smx_vm.cpp index e74974f444..ba2d44483d 100644 --- a/src/simix/smx_vm.cpp +++ b/src/simix/smx_vm.cpp @@ -1,5 +1,4 @@ -/* Copyright (c) 2007-2015. The SimGrid Team. - * All rights reserved. */ +/* Copyright (c) 2007-2015. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -9,15 +8,14 @@ #include "src/surf/virtual_machine.hpp" #include "src/surf/HostImpl.hpp" -//If you need to log some stuffs, just uncomment these two lines and uses XBT_DEBUG for instance XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_vm, simix, "Logging specific to SIMIX (vms)"); /* **** create a VM **** */ /** - * \brief Internal function to create a SIMIX host. - * \param name name of the host to create - * \param data some user data (may be NULL) + * @brief Internal function to create a SIMIX host. + * @param name name of the host to create + * @param data some user data (may be NULL) */ sg_host_t SIMIX_vm_create(const char *name, sg_host_t ind_phys_host) { @@ -105,9 +103,9 @@ e_surf_vm_state_t SIMIX_vm_get_state(sg_host_t ind_vm) } /** - * \brief Function to migrate a SIMIX VM host. + * @brief Function to migrate a SIMIX VM host. * - * \param host the vm host to migrate (a sg_host_t) + * @param host the vm host to migrate (a sg_host_t) */ void SIMIX_vm_migrate(sg_host_t ind_vm, sg_host_t ind_dst_pm) { @@ -119,7 +117,7 @@ void SIMIX_vm_migrate(sg_host_t ind_vm, sg_host_t ind_dst_pm) } /** - * \brief Encompassing simcall to prevent the removal of the src or the dst node at the end of a VM migration + * @brief Encompassing simcall to prevent the removal of the src or the dst node at the end of a VM migration * The simcall actually invokes the following calls: * simcall_vm_set_affinity(vm, src_pm, 0); * simcall_vm_migrate(vm, dst_pm); @@ -127,9 +125,9 @@ void SIMIX_vm_migrate(sg_host_t ind_vm, sg_host_t ind_dst_pm) * * It is called at the end of the migration_rx_fun function from msg/msg_vm.c * - * \param vm VM to migrate - * \param src_pm Source physical host - * \param dst_pmt Destination physical host + * @param vm VM to migrate + * @param src_pm Source physical host + * @param dst_pmt Destination physical host */ void SIMIX_vm_migratefrom_resumeto(sg_host_t vm, sg_host_t src_pm, sg_host_t dst_pm) { @@ -145,9 +143,9 @@ void SIMIX_vm_migratefrom_resumeto(sg_host_t vm, sg_host_t src_pm, sg_host_t dst } /** - * \brief Function to get the physical host of the given SIMIX VM host. + * @brief Function to get the physical host of the given SIMIX VM host. * - * \param host the vm host to get_phys_host (a sg_host_t) + * @param host the vm host to get_phys_host (a sg_host_t) */ void *SIMIX_vm_get_pm(sg_host_t ind_vm) { @@ -156,10 +154,10 @@ void *SIMIX_vm_get_pm(sg_host_t ind_vm) } /** - * \brief Function to set the CPU bound of the given SIMIX VM host. + * @brief Function to set the CPU bound of the given SIMIX VM host. * - * \param host the vm host (a sg_host_t) - * \param bound bound (a double) + * @param host the vm host (a sg_host_t) + * @param bound bound (a double) */ void SIMIX_vm_set_bound(sg_host_t ind_vm, double bound) { @@ -168,11 +166,11 @@ void SIMIX_vm_set_bound(sg_host_t ind_vm, double bound) } /** - * \brief Function to set the CPU affinity of the given SIMIX VM host. + * @brief Function to set the CPU affinity of the given SIMIX VM host. * - * \param host the vm host (a sg_host_t) - * \param host the pm host (a sg_host_t) - * \param mask affinity mask (a unsigned long) + * @param host the vm host (a sg_host_t) + * @param host the pm host (a sg_host_t) + * @param mask affinity mask (a unsigned long) */ void SIMIX_vm_set_affinity(sg_host_t ind_vm, sg_host_t ind_pm, unsigned long mask) { @@ -185,11 +183,11 @@ void SIMIX_vm_set_affinity(sg_host_t ind_vm, sg_host_t ind_pm, unsigned long mas /** - * \brief Function to suspend a SIMIX VM host. This function stops the execution of the + * @brief Function to suspend a SIMIX VM host. This function stops the execution of the * VM. All the processes on this VM will pause. The state of the VM is * preserved on memory. We can later resume it again. * - * \param host the vm host to suspend (a sg_host_t) + * @param host the vm host to suspend (a sg_host_t) */ void SIMIX_vm_suspend(sg_host_t ind_vm, smx_process_t issuer) { @@ -226,10 +224,10 @@ void simcall_HANDLER_vm_suspend(smx_simcall_t simcall, sg_host_t ind_vm) /** - * \brief Function to resume a SIMIX VM host. This function restart the execution of the + * @brief Function to resume a SIMIX VM host. This function restart the execution of the * VM. All the processes on this VM will run again. * - * \param host the vm host to resume (a sg_host_t) + * @param host the vm host to resume (a sg_host_t) */ void SIMIX_vm_resume(sg_host_t ind_vm, smx_process_t issuer) { @@ -257,11 +255,11 @@ void simcall_HANDLER_vm_resume(smx_simcall_t simcall, sg_host_t ind_vm) /** - * \brief Function to save a SIMIX VM host. + * @brief Function to save a SIMIX VM host. * This function is the same as vm_suspend, but the state of the VM is saved to the disk, and not preserved on memory. * We can later restore it again. * - * \param host the vm host to save (a sg_host_t) + * @param host the vm host to save (a sg_host_t) */ void SIMIX_vm_save(sg_host_t ind_vm, smx_process_t issuer) { @@ -290,10 +288,10 @@ void simcall_HANDLER_vm_save(smx_simcall_t simcall, sg_host_t ind_vm) /** - * \brief Function to restore a SIMIX VM host. This function restart the execution of the + * @brief Function to restore a SIMIX VM host. This function restart the execution of the * VM. All the processes on this VM will run again. * - * \param host the vm host to restore (a sg_host_t) + * @param host the vm host to restore (a sg_host_t) */ void SIMIX_vm_restore(sg_host_t ind_vm, smx_process_t issuer) { @@ -321,11 +319,11 @@ void simcall_HANDLER_vm_restore(smx_simcall_t simcall, sg_host_t ind_vm) /** - * \brief Function to shutdown a SIMIX VM host. This function powers off the + * @brief Function to shutdown a SIMIX VM host. This function powers off the * VM. All the processes on this VM will be killed. But, the state of the VM is * preserved on memory. We can later start it again. * - * \param host the vm host to shutdown (a sg_host_t) + * @param host the vm host to shutdown (a sg_host_t) */ void SIMIX_vm_shutdown(sg_host_t ind_vm, smx_process_t issuer) { @@ -356,9 +354,9 @@ void simcall_HANDLER_vm_shutdown(smx_simcall_t simcall, sg_host_t ind_vm) /** - * \brief Function to destroy a SIMIX VM host. + * @brief Function to destroy a SIMIX VM host. * - * \param vm the vm host to destroy (a sg_host_t) + * @param vm the vm host to destroy (a sg_host_t) */ void SIMIX_vm_destroy(sg_host_t vm) { diff --git a/src/surf/AsClusterTorus.cpp b/src/surf/AsClusterTorus.cpp index 223c068e9f..af5abc764d 100644 --- a/src/surf/AsClusterTorus.cpp +++ b/src/surf/AsClusterTorus.cpp @@ -36,9 +36,9 @@ namespace simgrid { void AsClusterTorus::create_links_for_node(sg_platf_cluster_cbarg_t cluster, int id, int rank, int position) { char *link_id; unsigned int j = 0; - /** + /* * Create all links that exist in the torus. - * Each rank creates #dimensions-1 links + * Each rank creates @a dimensions-1 links */ int neighbour_rank_id = 0; // The other node the link connects int current_dimension = 0, // which dimension are we currently in? @@ -72,7 +72,7 @@ namespace simgrid { info.link_up = Link::byName(link_id); info.link_down = info.link_up; } - /** + /* * Add the link to its appropriate position; * note that position rankId*(xbt_dynar_length(dimensions)+has_loopack?+has_limiter?) * holds the link "rankId->rankId" @@ -92,8 +92,7 @@ namespace simgrid { if (!xbt_dynar_is_empty(dimensions)) { dimensions_ = xbt_dynar_new(sizeof(int), NULL); - /** - * We are in a torus cluster + /* We are in a torus cluster * Parse attribute dimensions="dim1,dim2,dim3,...,dimN" * and safe it in a dynarray. * Additionally, we need to know how many ranks we have in total @@ -127,14 +126,14 @@ namespace simgrid { } - /** + /* * Dimension based routing routes through each dimension consecutively * TODO Change to dynamic assignment */ unsigned int j, cur_dim, dim_product = 1; int current_node = src->id(); int unsigned next_node = 0; - /** + /* * Arrays that hold the coordinates of the current node and * the target; comparing the values at the i-th position of * both arrays, we can easily assess whether we need to route @@ -143,7 +142,7 @@ namespace simgrid { unsigned int *myCoords, *targetCoords; myCoords = rankId_to_coords(src->id(), dimensions_); targetCoords = rankId_to_coords(dst->id(), dimensions_); - /** + /* * linkOffset describes the offset where the link * we want to use is stored * (+1 is added because each node has a link from itself to itself, diff --git a/src/surf/HostImpl.hpp b/src/surf/HostImpl.hpp index 5ddc32da4f..c423c9123d 100644 --- a/src/surf/HostImpl.hpp +++ b/src/surf/HostImpl.hpp @@ -81,7 +81,6 @@ public: * * @param model HostModel associated to this Host * @param name The name of the Host - * @param props Dictionary of properties associated to this Host * @param storage The Storage associated to this Host * @param cpu The Cpu associated to this Host */ @@ -92,7 +91,6 @@ public: * * @param model HostModel associated to this Host * @param name The name of the Host - * @param props Dictionary of properties associated to this Host * @param constraint The lmm constraint associated to this Host if it is part of a LMM component * @param storage The Storage associated to this Host * @param cpu The Cpu associated to this Host diff --git a/src/surf/network_interface.hpp b/src/surf/network_interface.hpp index 7473f1fa8e..7ed69d044f 100644 --- a/src/surf/network_interface.hpp +++ b/src/surf/network_interface.hpp @@ -64,6 +64,7 @@ namespace simgrid { * @param bandwidth The initial bandwidth of the Link in bytes per second * @param latency The initial latency of the Link in seconds * @param policy The sharing policy of the Link + * @param props Dictionary of properties associated to this Link */ virtual Link* createLink(const char *name, double bandwidth, double latency, e_surf_link_sharing_policy_t policy, xbt_dict_t properties)=0; @@ -130,7 +131,7 @@ namespace simgrid { ************/ /** @ingroup SURF_network_interface * @brief SURF network link interface class - * @details A Link represents the link between two [hosts](\ref Host) + * @details A Link represents the link between two [hosts](\ref simgrid::surf::Host) */ class Link : public simgrid::surf::Resource, diff --git a/src/surf/sg_platf.cpp b/src/surf/sg_platf.cpp index a073a637a9..effdb4b3fa 100644 --- a/src/surf/sg_platf.cpp +++ b/src/surf/sg_platf.cpp @@ -791,8 +791,7 @@ static void surf_config_models_setup() * Once this function was called, the configuration concerning the used * models cannot be changed anymore. * - * @param AS_id name of this autonomous system. Must be unique in the platform - * @param wanted_routing_type one of Full, Floyd, Dijkstra or similar. Full list in the variable routing_models, in src/surf/surf_routing.c + * @param AS the parameters defining the AS to build. */ simgrid::s4u::As * sg_platf_new_AS_begin(sg_platf_AS_cbarg_t AS) { diff --git a/src/xbt/xbt_matrix.c b/src/xbt/xbt_matrix.c index 4dd4e5302f..38cffdc75c 100644 --- a/src/xbt/xbt_matrix.c +++ b/src/xbt/xbt_matrix.c @@ -11,7 +11,7 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(xbt_matrix, xbt, "2D data storage"); -/** \brief constructor */ +/** @brief constructor */ xbt_matrix_t xbt_matrix_new(int lines, int rows, const unsigned long elmsize, void_f_pvoid_t const free_f) { xbt_matrix_t res = xbt_new(s_xbt_matrix_t, 1); @@ -23,7 +23,7 @@ xbt_matrix_t xbt_matrix_new(int lines, int rows, const unsigned long elmsize, vo return res; } -/** \brief Creates a matrix being a submatrix of another one */ +/** @brief Creates a matrix being a submatrix of another one */ xbt_matrix_t xbt_matrix_new_sub(xbt_matrix_t from, int lsize, int rsize, int lpos, int rpos, pvoid_f_pvoid_t const cpy_f) { @@ -32,7 +32,7 @@ xbt_matrix_t xbt_matrix_new_sub(xbt_matrix_t from, int lsize, int rsize, int lpo return res; } -/** \brief destructor */ +/** @brief destructor */ void xbt_matrix_free(xbt_matrix_t mat) { if (mat) { @@ -46,8 +46,8 @@ void xbt_matrix_free(xbt_matrix_t mat) } } -/** \brief Display the content of a matrix (debugging purpose) - * \param coords: boolean indicating whether we should add the coords of each cell to the output*/ +/** @brief Display the content of a matrix (debugging purpose) + * @param coords: boolean indicating whether we should add the coords of each cell to the output*/ void xbt_matrix_dump(xbt_matrix_t matrix, const char *name, int coords, void_f_pvoid_t display_fun) { fprintf(stderr, ">>> Matrix %s dump (%u x %u)\n", name, matrix->lines, matrix->rows); @@ -65,15 +65,16 @@ void xbt_matrix_dump(xbt_matrix_t matrix, const char *name, int coords, void_f_p fprintf(stderr, "<<< end_of_matrix %s dump\n", name); } -/** \brief Copy the values from the matrix src into the matrix dst - * \param dest: destination - * \param src: source - * \param lsize: number of lines to copy - * \param rsize: number of rows to copy - * \param lpos_dst: line offset on destination matrix - * \param rpos_dst: row offset on destination matrix - * \param lpos_src: line offset on destination matrix - * \param rpos_src: row offset on destination matrix +/** @brief Copy the values from the matrix src into the matrix dst + * @param dst: destination + * @param src: source + * @param lsize: number of lines to copy + * @param rsize: number of rows to copy + * @param lpos_dst: line offset on destination matrix + * @param rpos_dst: row offset on destination matrix + * @param lpos_src: line offset on destination matrix + * @param rpos_src: row offset on destination matrix + * @param cpy_f: the function to use to copy the elements over */ void xbt_matrix_copy_values(xbt_matrix_t dst, xbt_matrix_t src, unsigned int lsize, unsigned int rsize, unsigned int lpos_dst, unsigned int rpos_dst,unsigned int lpos_src, unsigned int rpos_src, @@ -105,7 +106,7 @@ void xbt_matrix_copy_values(xbt_matrix_t dst, xbt_matrix_t src, unsigned int lsi } } -/** \brief Creates a new matrix of double filled with zeros */ +/** @brief Creates a new matrix of double filled with zeros */ xbt_matrix_t xbt_matrix_double_new_zeros(int lines, int rows) { xbt_matrix_t res = xbt_matrix_new(lines, rows, sizeof(double), NULL); @@ -114,7 +115,7 @@ xbt_matrix_t xbt_matrix_double_new_zeros(int lines, int rows) return res; } -/** \brief Creates a new matrix of double being the identity matrix */ +/** @brief Creates a new matrix of double being the identity matrix */ xbt_matrix_t xbt_matrix_double_new_id(int lines, int rows) { xbt_matrix_t res = xbt_matrix_double_new_zeros(lines, rows); @@ -124,7 +125,7 @@ xbt_matrix_t xbt_matrix_double_new_id(int lines, int rows) return res; } -/** \brief Creates a new matrix of double containing the sequence of numbers in order */ +/** @brief Creates a new matrix of double containing the sequence of numbers in order */ xbt_matrix_t xbt_matrix_double_new_seq(int lines, int rows) { xbt_matrix_t res = xbt_matrix_new(lines, rows, sizeof(double), NULL); @@ -135,7 +136,7 @@ xbt_matrix_t xbt_matrix_double_new_seq(int lines, int rows) return res; } -/** \brief add to C the result of A*B */ +/** @brief add to C the result of A*B */ void xbt_matrix_double_addmult(xbt_matrix_t A, xbt_matrix_t B, /*OUT*/ xbt_matrix_t C) { xbt_assert(A->lines == C->lines, "A->lines != C->lines (%u vs %u)", A->lines, C->lines); diff --git a/src/xbt/xbt_str.c b/src/xbt/xbt_str.c index 7cb36fe573..6a54bb9177 100644 --- a/src/xbt/xbt_str.c +++ b/src/xbt/xbt_str.c @@ -478,8 +478,8 @@ char *xbt_str_from_file(FILE * file) /** @brief Parse an integer out of a string, or raise an error * - * The #str is passed as argument to your #error_msg, as follows: - * THROWF(arg_error, 0, error_msg, str); + * The @a str is passed as argument to your @a error_msg, as follows: + * @verbatim THROWF(arg_error, 0, error_msg, str); @endverbatim */ long int xbt_str_parse_int(const char* str, const char* error_msg) { @@ -496,8 +496,8 @@ long int xbt_str_parse_int(const char* str, const char* error_msg) /** @brief Parse a double out of a string, or raise an error * - * The #str is passed as argument to your #error_msg, as follows: - * THROWF(arg_error, 0, error_msg, str); + * The @a str is passed as argument to your @a error_msg, as follows: + * @verbatim THROWF(arg_error, 0, error_msg, str); @endverbatim */ double xbt_str_parse_double(const char* str, const char* error_msg) { -- 2.20.1