/* a generic DYNamic ARray implementation. */
-/* Copyright (c) 2004-2022. The SimGrid Team.
+/* Copyright (c) 2004-2023. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
void *res;
unsigned long old_used;
unsigned long new_used;
- long nb_shift;
_sanity_check_dynar(dynar);
_sanity_check_idx(idx);
_xbt_dynar_expand(dynar, new_used);
- nb_shift = old_used - idx;
-
- if (nb_shift>0) {
+ if (long nb_shift = old_used - idx; nb_shift > 0) {
memmove(_xbt_dynar_elm(dynar, idx + 1), _xbt_dynar_elm(dynar, idx), nb_shift * dynar->elmsize);
}
dynar->free_f(_xbt_dynar_elm(dynar, idx));
}
- unsigned long nb_shift = dynar->used - 1 - idx;
-
- if (nb_shift) {
+ if (unsigned long nb_shift = dynar->used - 1 - idx; nb_shift > 0) {
unsigned long offset = nb_shift * dynar->elmsize;
memmove(_xbt_dynar_elm(dynar, idx), _xbt_dynar_elm(dynar, idx + 1), offset);
}
}
@endverbatim
*
- * And now, a function to sort a dynar of MSG hosts depending on their speed:
- * @verbatim
- int cmpfunc(const MSG_host_t a, const MSG_host_t b) {
- MSG_host_t hostA = *(MSG_host_t*)a;
- MSG_host_t hostB = *(MSG_host_t*)b;
- return MSG_host_get_speed(hostA) - MSG_host_get_speed(hostB);
- }
- @endverbatim
- *
* @param dynar the dynar to sort
* @param compar_fn comparison function of type (int (compar_fn*) (const void*) (const void*)).
*/