=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/cvs/getlog.c,v retrieving revision 1.78 retrieving revision 1.79 diff -c -r1.78 -r1.79 *** src/usr.bin/cvs/getlog.c 2007/09/24 22:06:28 1.78 --- src/usr.bin/cvs/getlog.c 2008/01/10 11:25:27 1.79 *************** *** 1,4 **** ! /* $OpenBSD: getlog.c,v 1.78 2007/09/24 22:06:28 joris Exp $ */ /* * Copyright (c) 2005, 2006 Xavier Santolaria * Copyright (c) 2006 Joris Vink --- 1,4 ---- ! /* $OpenBSD: getlog.c,v 1.79 2008/01/10 11:25:27 tobias Exp $ */ /* * Copyright (c) 2005, 2006 Xavier Santolaria * Copyright (c) 2006 Joris Vink *************** *** 62,69 **** int cvs_getlog(int argc, char **argv) { ! int ch; ! int flags; char *arg = "."; struct cvs_recursion cr; --- 62,68 ---- int cvs_getlog(int argc, char **argv) { ! int ch, flags, i; char *arg = "."; struct cvs_recursion cr; *************** *** 105,110 **** --- 104,119 ---- argc -= optind; argv += optind; + if (cvs_cmdop == CVS_OP_RLOG) { + if (argc == 0) + return 0; + + for (i = 0; i < argc; i++) + if (argv[i][0] == '/') + fatal("Absolute path name is invalid: %s", + argv[i]); + } + cr.enterdir = NULL; cr.leavedir = NULL; *************** *** 145,154 **** cr.flags = flags; ! if (argc > 0) ! cvs_file_run(argc, argv, &cr); ! else ! cvs_file_run(1, &arg, &cr); if (current_cvsroot->cr_method != CVS_METHOD_LOCAL) { cvs_client_send_files(argv, argc); --- 154,166 ---- cr.flags = flags; ! if (cvs_cmdop == CVS_OP_LOG || ! current_cvsroot->cr_method == CVS_METHOD_LOCAL) { ! if (argc > 0) ! cvs_file_run(argc, argv, &cr); ! else ! cvs_file_run(1, &arg, &cr); ! } if (current_cvsroot->cr_method != CVS_METHOD_LOCAL) { cvs_client_send_files(argv, argc); *************** *** 178,184 **** cvs_file_classify(cf, cvs_directory_tag); if (cf->file_status == FILE_UNKNOWN) { ! if (verbosity > 0) cvs_log(LP_ERR, "nothing known about %s", cf->file_path); return; --- 190,196 ---- cvs_file_classify(cf, cvs_directory_tag); if (cf->file_status == FILE_UNKNOWN) { ! if (verbosity > 0 && cvs_cmdop != CVS_OP_RLOG) cvs_log(LP_ERR, "nothing known about %s", cf->file_path); return;