=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/cvs/server.c,v retrieving revision 1.80 retrieving revision 1.81 diff -u -r1.80 -r1.81 --- src/usr.bin/cvs/server.c 2008/02/01 17:18:59 1.80 +++ src/usr.bin/cvs/server.c 2008/02/03 17:20:14 1.81 @@ -1,4 +1,4 @@ -/* $OpenBSD: server.c,v 1.80 2008/02/01 17:18:59 tobias Exp $ */ +/* $OpenBSD: server.c,v 1.81 2008/02/03 17:20:14 joris Exp $ */ /* * Copyright (c) 2006 Joris Vink * @@ -168,6 +168,7 @@ fatal("Invalid Root specified!"); cvs_parse_configfile(); + cvs_parse_modules(); umask(cvs_umask); } @@ -752,8 +753,13 @@ { char fpath[MAXPATHLEN]; - (void)xsnprintf(fpath, MAXPATHLEN, "%s/%s", - current_cvsroot->cr_dir, dir); + if (module_repo_root != NULL) { + (void)xsnprintf(fpath, MAXPATHLEN, "%s/%s/%s", + current_cvsroot->cr_dir, module_repo_root, dir); + } else { + (void)xsnprintf(fpath, MAXPATHLEN, "%s/%s", + current_cvsroot->cr_dir, dir); + } cvs_server_send_response("Set-sticky %s", dir); cvs_remote_output(fpath); @@ -765,8 +771,13 @@ { char fpath[MAXPATHLEN]; - (void)xsnprintf(fpath, MAXPATHLEN, "%s/%s", - current_cvsroot->cr_dir, dir); + if (module_repo_root != NULL) { + (void)xsnprintf(fpath, MAXPATHLEN, "%s/%s/%s", + current_cvsroot->cr_dir, module_repo_root, dir); + } else { + (void)xsnprintf(fpath, MAXPATHLEN, "%s/%s", + current_cvsroot->cr_dir, dir); + } cvs_server_send_response("Clear-sticky %s", dir); cvs_remote_output(fpath);