# # Added patch to support cvs -W ! - clears all wrappers (patch also # forwarded to CVS people) #3374 # # Patch by Michael Alan Dorman diff -ruN cvs-1.12.13-old/src/wrapper.c cvs-1.12.13/src/wrapper.c --- cvs-1.12.13-old/src/wrapper.c 2005-09-04 08:27:44.000000000 +0800 +++ cvs-1.12.13/src/wrapper.c 2006-02-26 22:26:53.000000000 +0800 @@ -86,7 +86,7 @@ move this to a per-connection data structure, or better yet think about a cleaner solution. */ static int wrap_setup_already_done = 0; - char *homedir; + char *homedir = NULL; if (wrap_setup_already_done != 0) return; @@ -107,6 +107,11 @@ free (file); } +#ifdef SERVER_SUPPORT + if (!server_active) +#endif + { + /* Then add entries found in home dir, (if user has one) and file exists. */ homedir = get_homedir (); @@ -115,6 +120,8 @@ hand it might be obnoxious to complain when CVS will function just fine without .cvswrappers (and many users won't even know what .cvswrappers is). */ + } + if (homedir != NULL) { char *file = strcat_filename_onto_homedir (homedir, CVSDOTWRAPPER); @@ -339,6 +346,12 @@ if (!line || line[0] == '#') return; + /* Allows user to declare all wrappers null and void */ + if ( line[0] == '!') { + wrap_kill ( ); + return; + } + memset (&e, 0, sizeof(e)); /* Search for the wild card */