/* called directly from ioctl */
/* called while not holding freelance lock */
-int cm_noteLocalMountPointChange() {
+int cm_noteLocalMountPointChange(void) {
lock_ObtainMutex(&cm_Freelance_Lock);
cm_fakeDirVersion++;
cm_localMountPointChangeFlag = 1;
#if !defined(DJGPP)
if (RegOpenKeyEx( HKEY_LOCAL_MACHINE,
- "SOFTWARE\\OpenAFS\\Client\\Freelance",
- 0,
- KEY_READ|KEY_WRITE|KEY_QUERY_VALUE,
- &hkFreelance) == ERROR_SUCCESS) {
+ "SOFTWARE\\OpenAFS\\Client\\Freelance",
+ 0,
+ KEY_READ|KEY_WRITE|KEY_QUERY_VALUE,
+ &hkFreelance) == ERROR_SUCCESS) {
RegQueryInfoKey( hkFreelance,
NULL, /* lpClass */
smb_UnixTimeFromLargeSearchTime(&FakeFreelanceModTime, &ftLastWriteTime);
if ( dwMountPoints == 0 ) {
- sprintf(line,"%s#%s:root.cell.\n",rootCellName,rootCellName);
- dwType = REG_SZ;
- dwSize = strlen(line) + 1;
- RegSetValueEx( hkFreelance, "0", 0, dwType, line, dwSize);
- sprintf(line,".%s%%%s:root.cell.\n",rootCellName,rootCellName);
- dwSize = strlen(line) + 1;
- RegSetValueEx( hkFreelance, "1", 0, dwType, line, dwSize);
- dwMountPoints = 2;
+ rootCellName[0] = '.';
+ code = cm_GetRootCellName(&rootCellName[1]);
+ if (code == 0) {
+ cm_FreelanceAddMount(&rootCellName[1], &rootCellName[1], "root.cell", 0, NULL);
+ cm_FreelanceAddMount(rootCellName, &rootCellName[1], "root.cell", 1, NULL);
+ dwMountPoints = 2;
+ }
}
if (RegCreateKeyEx( HKEY_LOCAL_MACHINE,
#endif
if (!fp) {
-#if !defined(DJGPP);
+#if !defined(DJGPP)
RegCloseKey(hkFreelance);
#endif
rootCellName[0] = '.';
long cm_FreelanceAddSymlink(char *filename, char *destination, cm_fid_t *fidp)
{
- FILE *fp;
- char hfile[120];
char line[512];
char fullname[200];
- int n;
int alias = 0;
#if !defined(DJGPP)
HKEY hkFreelanceSymlinks = 0;
long cm_FreelanceRemoveSymlink(char *toremove)
{
- int i, n;
char* cp;
char line[512];
char shortname[200];
- char hfile[120], hfile2[120];
- FILE *fp1, *fp2;
int found=0;
#if !defined(DJGPP)
HKEY hkFreelanceSymlinks = 0;