+Thu May 24 15:46:50 2001 Christopher Faylor <cgf@cygnus.com>
+
+ * path.cc (slash_drive_prefix_p): Remove.
+ (mount_info::slash_drive_to_win32_path): Ditto.
+ (mount_info::conv_to_win32_path): Remove slash drive prefix check.
+ (mount_info::add_item): Ditto.
+ (mount_info::del_item): Ditto.
+ * shared_info.h (mount_info): Remove slash_drive_to_win32_path
+ declaration.
+
Thu May 24 01:17:33 2001 Christopher Faylor <cgf@cygnus.com>
* exceptions.cc (handle_exceptions): Bump repeat count for debugging
dst[len] = '\0';
}
-/* slash_drive_prefix_p: Return non-zero if PATH begins with
- //<letter>. */
-
-static int
-slash_drive_prefix_p (const char *path)
-{
- return (isdirsep(path[0])
- && isdirsep(path[1])
- && isalpha (path[2])
- && (path[3] == 0 || path[3] == '/'));
-}
-
/* slash_unc_prefix_p: Return non-zero if PATH begins with //UNC/SHARE */
int __stdcall
if (i >= nmounts)
{
- if (slash_drive_prefix_p (pathbuf))
- slash_drive_to_win32_path (pathbuf, dst, 0);
- else
- backslashify (pathbuf, dst, 0); /* just convert */
+ backslashify (pathbuf, dst, 0); /* just convert */
*flags = 0;
}
else
return 0;
}
-/* Convert PATH (for which slash_drive_prefix_p returns 1) to WIN32 form. */
-
-void
-mount_info::slash_drive_to_win32_path (const char *path, char *buf,
- int trailing_slash_p)
-{
- buf[0] = path[2];
- buf[1] = ':';
- if (path[3] == '0')
- strcpy (buf + 2, "\\");
- else
- backslashify (path + 3, buf + 2, trailing_slash_p);
-}
-
/* cygdrive_posix_path: Build POSIX path used as the
mount point for cygdrives created when there is no other way to
obtain a POSIX path from a Win32 one. */
char nativetmp[MAX_PATH];
char posixtmp[MAX_PATH];
- if (slash_drive_prefix_p (native))
- slash_drive_to_win32_path (native, nativetmp, 0);
- else
- backslashify (native, nativetmp, 0);
+ backslashify (native, nativetmp, 0);
nofinalslash (nativetmp, nativetmp);
slashify (posix, posixtmp, 0);
return -1;
}
- if (slash_drive_prefix_p (path))
- slash_drive_to_win32_path (path, pathtmp, 0);
- else if (slash_unc_prefix_p (path) || strpbrk (path, ":\\"))
- backslashify (path, pathtmp, 0);
+ if (slash_unc_prefix_p (path) || strpbrk (path, ":\\"))
+ backslashify (path, pathtmp, 0);
else
{
slashify (path, pathtmp, 0);
class mount_item
{
-public:
+ public:
/* FIXME: Nasty static allocation. Need to have a heap in the shared
area [with the user being able to configure at runtime the max size]. */
class reg_key;
class mount_info
{
-public:
+ public:
DWORD version;
DWORD sys_mount_table_counter;
int nmounts;
char cygdrive[MAX_PATH];
size_t cygdrive_len;
unsigned cygdrive_flags;
-private:
+ private:
int posix_sorted[MAX_MOUNTS];
int native_sorted[MAX_MOUNTS];
-public:
+ public:
/* Increment when setting up a reg_key if mounts area had to be
created so we know when we need to import old mount tables. */
int had_to_create_mount_areas;
void import_v1_mounts ();
-private:
+ private:
void sort ();
void read_mounts (reg_key& r);
int cygdrive_win32_path (const char *src, char *dst, int trailing_slash_p);
void cygdrive_posix_path (const char *src, char *dst, int trailing_slash_p);
- void slash_drive_to_win32_path (const char *path, char *buf, int trailing_slash_p);
void read_cygdrive_info_from_registry ();
};
class shared_info
{
DWORD inited;
-public:
+ public:
int heap_chunk_in_mb;
DWORD sys_mount_table_counter;