X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6de03ecc4e630732984a0673512a5d15fd75e270..a4c8f1898670317d0fa33bf1b1a904ea922b78cc:/src/smpi/smpitools.sh diff --git a/src/smpi/smpitools.sh b/src/smpi/smpitools.sh index bb41e7c8cc..9aa0a2ab2b 100644 --- a/src/smpi/smpitools.sh +++ b/src/smpi/smpitools.sh @@ -1,7 +1,6 @@ -#!/bin/sh -#---- smpitools.sh --------------------------------------------------------# +#!/usr/bin/env sh -# Copyright (c) 2013-2014. The SimGrid Team. +# Copyright (c) 2013-2019. The SimGrid Team. # All rights reserved. # This program is free software; you can redistribute it and/or modify it @@ -10,46 +9,44 @@ SAVEIFS="$IFS" LISTSEP="$(printf '\b')" -# Create a temporary file, with its name of the form $1_XXX$2, where XXX is -# replaced by an unique string. +# Create a temporary file, with its name of the form $1_XXX$2, where XXX is replaced by an unique string. # $1: prefix, $2: suffix mymktemp () { - tmp=$(mktemp --suffix="$2" "$1_XXXXXXXXXX" 2> /dev/null) - if [ -z "$tmp" ]; then + local_tmp=$(mktemp --suffix="$2" "$1_XXXXXXXXXX" 2> /dev/null) + if [ -z "$local_tmp" ]; then # mktemp failed (unsupported --suffix ?), try unsafe mode - tmp=$(mktemp -u "$1_XXXXXXXXXX" 2> /dev/null) - if [ -z "$tmp" ]; then + local_tmp=$(mktemp -u "$1_XXXXXXXXXX" 2> /dev/null) + if [ -z "$local_tmp" ]; then # mktemp failed again (doesn't exist ?), try very unsafe mode if [ -z "${mymktemp_seq}" ]; then mymktemp_seq=$(date +%d%H%M%S) fi - tmp="$1_$$x${mymktemp_seq}" + local_tmp="$1_$$x${mymktemp_seq}" mymktemp_seq=$((mymktemp_seq + 1)) fi - tmp="${tmp}$2" + local_tmp="${local_tmp}$2" # create temp file, and exit if it existed before - sh -C -c "true > \"${tmp}\"" || exit 1 + sh -C -c "true > \"${local_tmp}\"" || exit 1 fi - echo "${tmp}" + echo "${local_tmp}" } # Add a word to the end of a list (words separated by LISTSEP) # $1: list, $2...: words to add list_add () { - local list content newcontent - list="$1" + local_list="$1" shift if [ $# -gt 0 ]; then - eval content=\"\${$list}\" + eval local_content=\"\${$local_list}\" IFS="$LISTSEP" - newcontent="$*" + local_newcontent="$*" IFS="$SAVEIFS" - if [ -z "$content" ]; then - content="$newcontent" + if [ -z "$local_content" ]; then + local_content="$local_newcontent" else - content="$content${LISTSEP}$newcontent" + local_content="$local_content${LISTSEP}$local_newcontent" fi - eval $list=\"\${content}\" + eval $local_list=\"\${local_content}\" fi } @@ -67,12 +64,9 @@ list_set () { list_add "$@" } -# Get the content of a list: positional parameters ($1, $2, ...) are set to the -# content of the list +# Get the content of a list: positional parameters ($1, $2, ...) are set to the content of the list # $1: list # usage: eval $(list_get list) list_get () { - printf 'IFS="$LISTSEP"; eval set -- \\$%s; IFS="$SAVEIFS"' "$1" + printf 'IFS="'\$'LISTSEP"; eval set -- \$%s; IFS="'\$'SAVEIFS"\n' "$1" } - -#---- end of smpitools.sh -------------------------------------------------#