Boolean IsShioFile(char* path)
{
	// the first line of the file needs to be "[StationInfo]"
	Boolean	bIsOurFile = false;
	OSErr	err = noErr;
	long	line;
	char	strLine [256];
	char	firstPartOfFile [256];
	long lenToRead,fileLength;
	
	err = MyGetFileSize(0,0,path,&fileLength);
	if(err) return false;
	
	lenToRead = _min(256,fileLength);
	
	err = ReadSectionOfFile(0,0,path,0,lenToRead,firstPartOfFile,0);
	firstPartOfFile[lenToRead-1] = 0; // make sure it is a cString
	if (!err)
	{
		NthLineInTextNonOptimized (firstPartOfFile, line = 0, strLine, 256);
		RemoveTrailingWhiteSpace(strLine);
		if (!strcmpnocase(strLine,"[StationInfo]"))
			bIsOurFile = true;
	}
	return bIsOurFile;
}
Beispiel #2
0
/*
 * FileAlloc - allocate a file entry
 */
file *FileAlloc( char *name )
{
    file        *cfile;

    /*
     * get new file entry
     */
    cfile = MemAlloc( FILE_SIZE );

    /*
     * initialize file info
     */
    if( name != NULL ) {
        AddString( &(cfile->name), name );
        GetCWD1( &(cfile->home) );
        MyGetFileSize( name, &(cfile->size) );
    }
    cfile->handle = -1;
    if( EditFlags.ViewOnly ) {
        cfile->viewonly = true;
        EditFlags.ViewOnly = false;
    }
    if( EditFlags.StdIOMode ) {
        cfile->is_stdio = true;
        EditFlags.StdIOMode = false;
    }
    return( cfile );

} /* FileAlloc */