home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FreeWare Collection 2
/
FreeSoftwareCollection2pd199x-jp.img
/
ms_dos
/
update
/
jfnsplit.c
< prev
next >
Wrap
Text File
|
1990-06-14
|
1KB
|
75 lines
/*
* jfnsplit.c
* fnsplit function that is available for kanji file name
* int jfnsplit(char *path,char *drive,char *dir,char *name,char *ext)
*
* 1988/8/30 Sey
*/
#include <dir.h>
#include <jstring.h>
#include <stddef.h>
int
jfnsplit(char *path,char *drive,char *dir,char *name,char *ext)
{
char *p = path;
char *p2;
int len;
int ret = 0;
if( drive != NULL )
*drive = 0;
if( dir != NULL )
*dir = 0;
if( name != NULL )
*name = 0;
if( ext != NULL )
*ext = 0;
if( *p == 0 )
return( ret );
if( jstrchr(p,':') == path + 1 )
{
ret |= DRIVE;
if( drive != NULL )
{
strncpy(drive,path,2);
*(drive+2) = 0;
}
p = path + 2;
if( *p == 0 )
return( ret );
}
if( (p2 = jstrrchr(p,'\\')) != NULL )
{
ret |= DIRECTORY;
if( dir != NULL )
{
len = p2 - p + 1;
strncpy(dir,p,len);
*(dir+len) = 0;
}
p = p2 + 1;
if( *p == 0 )
return( ret );
}
if( jstrmatch(p,"*?") != NULL )
ret |= WILDCARDS;
ret |= FILENAME;
if( (p2 = jstrchr(p,'.')) != NULL )
{
ret |= EXTENSION;
if( ext != NULL )
strcpy(ext,p2);
if( name != NULL )
{
len = p2 - p;
strncpy(name,p,len);
*(name+len) = 0;
}
}
else if( name != NULL )
strcpy(name,p);
return( ret );
}
/* end jfnsplit */