=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/awk/run.c,v retrieving revision 1.38 retrieving revision 1.39 diff -c -r1.38 -r1.39 *** src/usr.bin/awk/run.c 2014/12/19 19:28:55 1.38 --- src/usr.bin/awk/run.c 2015/09/05 22:07:10 1.39 *************** *** 1,4 **** ! /* $OpenBSD: run.c,v 1.38 2014/12/19 19:28:55 deraadt Exp $ */ /**************************************************************** Copyright (C) Lucent Technologies 1997 All Rights Reserved --- 1,4 ---- ! /* $OpenBSD: run.c,v 1.39 2015/09/05 22:07:10 deraadt Exp $ */ /**************************************************************** Copyright (C) Lucent Technologies 1997 All Rights Reserved *************** *** 1584,1596 **** u = (Awkfloat) (random() % RAND_MAX) / RAND_MAX; break; case FSRAND: ! if (!isrec(x)) { u = getfval(x); tmp = u; srandom_deterministic((unsigned int) u); - u = srand_seed; - srand_seed = tmp; } break; case FTOUPPER: case FTOLOWER: --- 1584,1600 ---- u = (Awkfloat) (random() % RAND_MAX) / RAND_MAX; break; case FSRAND: ! if (isrec(x)) { /* no argument provided */ ! u = time(NULL); ! tmp = u; ! srandom((unsigned int) u); ! } else { u = getfval(x); tmp = u; srandom_deterministic((unsigned int) u); } + u = srand_seed; + srand_seed = tmp; break; case FTOUPPER: case FTOLOWER: