# Copyright (C) 2014, 2016 Patrick "P. J." McDermott # # This file is part of libsh. # # libsh is free software: you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as published # by the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # libsh is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with libsh. If not, see # . RAND_MAX=2147483647 # 2^31 - 1 static x=1 rand_x=1 srand(int s) { x=${s} rand_x=${s} } rand(void) { # Multiplier, increment, and modulus values are those used in glibc. x=$((1103515245 * ${x} + 12345)) x=$((${x} % (${RAND_MAX} + 1))) rand_x=${x} }