=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/rcs/rcsutil.c,v retrieving revision 1.44 retrieving revision 1.45 diff -c -r1.44 -r1.45 *** src/usr.bin/rcs/rcsutil.c 2015/06/13 20:15:21 1.44 --- src/usr.bin/rcs/rcsutil.c 2016/07/04 01:39:12 1.45 *************** *** 1,4 **** ! /* $OpenBSD: rcsutil.c,v 1.44 2015/06/13 20:15:21 nicm Exp $ */ /* * Copyright (c) 2005, 2006 Joris Vink * Copyright (c) 2006 Xavier Santolaria --- 1,4 ---- ! /* $OpenBSD: rcsutil.c,v 1.45 2016/07/04 01:39:12 millert Exp $ */ /* * Copyright (c) 2005, 2006 Joris Vink * Copyright (c) 2006 Xavier Santolaria *************** *** 330,345 **** * Returns the string's pointer. */ char * ! rcs_prompt(const char *prompt) { BUF *bp; size_t len; char *buf; bp = buf_alloc(0); ! if (isatty(STDIN_FILENO)) (void)fprintf(stderr, "%s", prompt); ! if (isatty(STDIN_FILENO)) (void)fprintf(stderr, ">> "); clearerr(stdin); while ((buf = fgetln(stdin, &len)) != NULL) { --- 330,348 ---- * Returns the string's pointer. */ char * ! rcs_prompt(const char *prompt, int flags) { BUF *bp; size_t len; char *buf; + if (!(flags & INTERACTIVE) && isatty(STDIN_FILENO)) + flags |= INTERACTIVE; + bp = buf_alloc(0); ! if (flags & INTERACTIVE) (void)fprintf(stderr, "%s", prompt); ! if (flags & INTERACTIVE) (void)fprintf(stderr, ">> "); clearerr(stdin); while ((buf = fgetln(stdin, &len)) != NULL) { *************** *** 349,355 **** else buf_append(bp, buf, len); ! if (isatty(STDIN_FILENO)) (void)fprintf(stderr, ">> "); } buf_putc(bp, '\0'); --- 352,358 ---- else buf_append(bp, buf, len); ! if (flags & INTERACTIVE) (void)fprintf(stderr, ">> "); } buf_putc(bp, '\0'); *************** *** 438,444 **** * Returns 0 on success, -1 on failure, setting errno. */ int ! rcs_set_description(RCSFILE *file, const char *in) { BUF *bp; char *content; --- 441,447 ---- * Returns 0 on success, -1 on failure, setting errno. */ int ! rcs_set_description(RCSFILE *file, const char *in, int flags) { BUF *bp; char *content; *************** *** 458,464 **** content = xstrdup(in + 1); /* Get description from stdin. */ else ! content = rcs_prompt(prompt); rcs_desc_set(file, content); free(content); --- 461,467 ---- content = xstrdup(in + 1); /* Get description from stdin. */ else ! content = rcs_prompt(prompt, flags); rcs_desc_set(file, content); free(content);