Anyone familiar with linux file APIs?
I'd like to check if a path is from a mounted media, on windows it's fairly easy, just grab the first ':' character and declare anything before it as a drive but on linux I'm struggling to find some similarly simple method of checking if the path is mounted, reason I want to do so is for this function:
Code:
int paw_split_path
(
char *src
, char **PROTOCOL
, char **BASE
, char **PORT
, char **DIR
, char **ENT
, char **EXT
, char **HASH
, char **QRY
)
{
*QRY = NULL;
*HASH = NULL;
*PORT = NULL;
*PROTOCOL = NULL;
*BASE = strstr( src, "://" );
if ( *BASE )
{
*PROTOCOL = src;
*BASE = *BASE + 3;
*DIR = strstr( *BASE, "/" );
for ( char *i = *BASE; i < *BASE_END; ++i )
{
if ( *i == ':' )
{
*PORT = i;
break;
}
}
*ENT = *DIR + 1;
*HASH = strstr( *ENT, "#" );
*QRY = strstr( *HASH ? *HASH : *ENT, "?" );
if ( *HASH )
{
for
(
char *i = strstr( *ENT, "/" )
; i && i < *HASH
; *ENT = i + 1, i = strstr( i, "/" )
);
}
else if ( *QRY )
{
for
(
char *i = strstr( *ENT, "/" )
; i && i < *QRY
; *ENT = i + 1, i = strstr( i, "/" )
);
}
else
{
for
(
char *i = strstr( *ENT, "/" )
; i
; *ENT = i + 1, i = strstr( i, "/" )
);
}
}
else
{
*ENT = strrchr( src, '\\' );
if ( !(*ENT) ) *ENT = strrchr( src, '/' );
*DIR = strchr( *ENT, ':' );
if ( *DIR )
{
*DIR = *DIR + 1;
*BASE = src;
}
else
{
}
}
}