=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/rsync/fargs.c,v retrieving revision 1.11 retrieving revision 1.12 diff -c -r1.11 -r1.12 *** src/usr.bin/rsync/fargs.c 2019/02/14 18:31:36 1.11 --- src/usr.bin/rsync/fargs.c 2019/02/16 10:48:05 1.12 *************** *** 1,4 **** ! /* $Id: fargs.c,v 1.11 2019/02/14 18:31:36 florian Exp $ */ /* * Copyright (c) 2019 Kristaps Dzonsons * --- 1,4 ---- ! /* $Id: fargs.c,v 1.12 2019/02/16 10:48:05 florian Exp $ */ /* * Copyright (c) 2019 Kristaps Dzonsons * *************** *** 43,49 **** argsz += 1; /* dot separator */ argsz += 1; /* sink file */ argsz += 5; /* per-mode maximum */ ! argsz += 12; /* shared args */ argsz += 1; /* NULL pointer */ argsz += f->sourcesz; --- 43,49 ---- argsz += 1; /* dot separator */ argsz += 1; /* sink file */ argsz += 5; /* per-mode maximum */ ! argsz += 14; /* shared args */ argsz += 1; /* NULL pointer */ argsz += f->sourcesz; *************** *** 111,116 **** --- 111,118 ---- args[i++] = "-o"; if (sess->opts->preserve_perms) args[i++] = "-p"; + if (sess->opts->devices) + args[i++] = "-D"; if (sess->opts->recursive) args[i++] = "-r"; if (sess->opts->preserve_times) *************** *** 123,128 **** --- 125,135 ---- args[i++] = "-v"; if (sess->opts->verbose > 0) args[i++] = "-v"; + if (sess->opts->specials && !sess->opts->devices) + args[i++] = "--specials"; + if (!sess->opts->specials && sess->opts->devices) + /* --devices is sent as -D --no-specials */ + args[i++] = "--no-specials"; /* Terminate with a full-stop for reasons unknown. */