static int
afsconf_Check(register struct afsconf_dir *adir)
{
- char tbuffer[256];
+ char tbuffer[256], *p;
struct stat tstat;
register afs_int32 code;
#ifdef AFS_NT40_ENV
/* NT client CellServDB has different file name than NT server or Unix */
if (IsClientConfigDirectory(adir->name)) {
- if ( !afssw_GetClientCellServDBDir(tbuffer) ) {
- strcompose(tbuffer, sizeof(tbuffer), adir->name, "/",
+ if ( !afssw_GetClientCellServDBDir(&p) ) {
+ strcompose(tbuffer, sizeof(tbuffer), p, "/",
AFSDIR_CELLSERVDB_FILE_NTCLIENT, NULL);
+ free(p);
} else {
int len;
strncpy(tbuffer, adir->name, sizeof(tbuffer));
static int
afsconf_Touch(register struct afsconf_dir *adir)
{
- char tbuffer[256];
+ char tbuffer[256], *p;
#ifndef AFS_NT40_ENV
struct timeval tvp[2];
#endif
/* NT client CellServDB has different file name than NT server or Unix */
if (IsClientConfigDirectory(adir->name)) {
- if ( !afssw_GetClientCellServDBDir(tbuffer) ) {
- strcompose(tbuffer, sizeof(tbuffer), adir->name, "/",
+ if ( !afssw_GetClientCellServDBDir(&p) ) {
+ strcompose(tbuffer, sizeof(tbuffer), p, "/",
AFSDIR_CELLSERVDB_FILE_NTCLIENT, NULL);
+ free(p);
} else {
int len = strlen(tbuffer);
if ( tbuffer[len-1] != '\\' && tbuffer[len-1] != '/' ) {
*/
if (IsClientConfigDirectory(adir->name)) {
/* NT client config dir */
- if ( !afssw_GetClientCellServDBDir(tbuffer) ) {
- strcompose(tbuffer, sizeof(tbuffer), adir->name, "/",
+ char * p;
+ if ( !afssw_GetClientCellServDBDir(&p) ) {
+ strcompose(tbuffer, sizeof(tbuffer), p, "/",
AFSDIR_CELLSERVDB_FILE_NTCLIENT, NULL);
+ free(p);
} else {
int len;
strncpy(tbuffer, adir->name, sizeof(tbuffer));