NewtFile.c

ファイル処理 [詳細]

#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include "NewtType.h"
#include "NewtCore.h"
#include "NewtVM.h"
#include "NewtBC.h"
#include "NewtIO.h"
#include "NewtFile.h"

ソースコードを見る。

データ構造

struct  file_ext_t
 ファイル拡張子 [詳細]

列挙型

enum  { typeScript, typeDylib }

関数

bool NewtFileExists (char *path)
char NewtGetFileSeparator (void)
char * NewtGetHomeDir (const char *s, char **subdir)
char * NewtJoinPath (char *s1, char *s2, char sep)
char * NewtRelToAbsPath (char *s)
newtRef NewtExpandPath (const char *s)
char * NewtBaseName (char *s, uint32_t len)
newtRef NsCompileFile (newtRefArg rcvr, newtRefArg r)
newtRef NsLoad (newtRefArg rcvr, newtRefArg r)
newtRef NcRequire0 (newtRefArg r)
newtRef NsRequire (newtRefArg rcvr, newtRefArg r)
newtRef NsFileExists (newtRefArg rcvr, newtRefArg r)
newtRef NsDirName (newtRefArg rcvr, newtRefArg r)
newtRef NsBaseName (newtRefArg rcvr, newtRefArg r)
newtRef NsJoinPath (newtRefArg rcvr, newtRefArg r1, newtRefArg r2)
newtRef NsExpandPath (newtRefArg rcvr, newtRefArg r)


説明

ファイル処理

作者:
M.Nukui
日付:
2004-01-25
Copyright (C) 2003-2004 M.Nukui All rights reserved.

NewtFile.c で定義されています。


関数

newtRef NcRequire0 ( newtRefArg  r  ) 

ライブラリの要求

引数:
r [in] ロードするライブラリのシンボル文字列
戻り値:
ロードされたライブラリのシンボル
覚え書き:
シンボルによりライブラリを要求する。 拡張子は必要ない。適宜ライブラリパスにより検索される。 一度ロードされたライブラリは読込まれない。 ライブラリが見つからなくても例外は発生しない。

NewtFile.c488 行で定義されています。

参照先 __DYLIBSUFFIX__kNErrNotASymbolkNewtRefNILkNewtRefUnbindNcDefGlobalVarNcGetGlobalVarNcGetVariableNcJoinPathNcLoadNcLoadLibNcMakeFrameNcMakeSymbolNcSetSlotNcStringer()NewtFileExists()NewtGetArraySlot()NewtHasSlot()NewtLength()NewtMakeArray2()NewtRefIsFrame()NewtRefIsNIL()NewtRefIsString()NewtRefIsSymbol()NewtRefToStringNewtSetArraySlot()NewtThrow()NSSTRNSSYM0.

参照元 NsRequire()NVMInit().

関数の呼び出しグラフ:

char* NewtBaseName ( char *  s,
uint32_t  len 
)

パスからファイル名を取出す

引数:
s [in] パスへのポインタ
len [in] パスの文字数
戻り値:
ファイル名

NewtFile.c363 行で定義されています。

参照先 NewtGetFileSeparator().

参照元 NsBaseName()NsDirName().

関数の呼び出しグラフ:

newtRef NewtExpandPath ( const char *  s  ) 

相対パスを絶対パスに展開する

引数:
s [in] 相対パス(C文字列)
戻り値:
絶対パス(文字列オブジェクト)
覚え書き:
, user はホームディレクトリに展開される

NewtFile.c294 行で定義されています。

参照先 kNewtRefUnbindNewtGetFileSeparator()NewtGetHomeDir()NewtJoinPath()NewtRelToAbsPath()NSSTR.

参照元 NewtInitARGV()NsExpandPath().

関数の呼び出しグラフ:

bool NewtFileExists ( char *  path  ) 

ファイルの存在確認

引数:
path [in] ファイルのパス
戻り値:
true ファイルが存在する
false ファイルが存在しない

NewtFile.c100 行で定義されています。

参照元 NcRequire0()NsFileExists().

char NewtGetFileSeparator ( void   ) 

ファイルセパレータを返す

戻り値:
ファイルセパレータ

NewtFile.c123 行で定義されています。

参照元 NewtBaseName()NewtExpandPath()NewtInitARGV()NewtRelToAbsPath()NsDirName()NsJoinPath().

char* NewtGetHomeDir ( const char *  s,
char **  subdir 
)

ホームディレクトリのパスを取得

引数:
s [in] ファイルのパス
subdir [out]サブディレクトリ
戻り値:
ホームディレクトリのパス
覚え書き:
取得されたホームディレクトリの文字列は free する必要がある

NewtFile.c185 行で定義されています。

参照元 NewtExpandPath().

char* NewtJoinPath ( char *  s1,
char *  s2,
char  sep 
)

ディレクトリ名とファイル名からパスを作成

引数:
s1 [in] ディレクトリ名
s2 [in] ファイル名
sep [in] ファイルセパレータ
戻り値:
作成されたパス
覚え書き:
取得されたホームディレクトリの文字列は free する必要がある

NewtFile.c205 行で定義されています。

参照元 NewtExpandPath().

char* NewtRelToAbsPath ( char *  s  ) 

相対パスを絶対パスに展開する

引数:
s [i/o]相対パス→絶対パス
戻り値:
絶対パス

NewtFile.c237 行で定義されています。

参照先 NewtGetFileSeparator().

参照元 NewtExpandPath().

関数の呼び出しグラフ:

newtRef NsBaseName ( newtRefArg  rcvr,
newtRefArg  r 
)

パスからファイル名を取出す

引数:
rcvr [in] レシーバ
r [in] ファイルのパス
戻り値:
ファイル名
覚え書き:
スクリプトからの呼出し用

NewtFile.c686 行で定義されています。

参照先 kNErrNotAStringNewtBaseName()NewtRefIsString()NewtRefToStringNewtStringLength()NewtThrow()NSSTR.

参照元 NVMInitExGlobalFns().

関数の呼び出しグラフ:

newtRef NsCompileFile ( newtRefArg  rcvr,
newtRefArg  r 
)

ソースファイルのコンパイル

引数:
rcvr [in] レシーバ
r [in] コンパイルするソースファイルのパス
戻り値:
引数 0 の関数オブジェクト

NewtFile.c394 行で定義されています。

参照先 kNErrNotAStringNBCCompileFile()NewtRefIsString()NewtRefToStringNewtThrow().

参照元 NsLoad()NVMInitExGlobalFns().

関数の呼び出しグラフ:

newtRef NsDirName ( newtRefArg  rcvr,
newtRefArg  r 
)

パスからディレクトリ名を取出す

引数:
rcvr [in] レシーバ
r [in] ファイルのパス
戻り値:
ディレクトリ名

NewtFile.c649 行で定義されています。

参照先 kNErrNotAStringNewtBaseName()NewtGetFileSeparator()NewtMakeString2()NewtRefIsString()NewtRefToStringNewtStringLength()NewtThrow()NSSTR.

参照元 NVMInitExGlobalFns().

関数の呼び出しグラフ:

newtRef NsExpandPath ( newtRefArg  rcvr,
newtRefArg  r 
)

相対パスを絶対パスに展開する

引数:
rcvr [in] レシーバ
r [in] 相対パス
戻り値:
絶対パス
覚え書き:
, user はホームディレクトリに展開される スクリプトからの呼出し用

NewtFile.c736 行で定義されています。

参照先 kNErrNotAStringNewtExpandPath()NewtRefIsString()NewtRefToStringNewtThrow().

参照元 NVMInitExGlobalFns().

関数の呼び出しグラフ:

newtRef NsFileExists ( newtRefArg  rcvr,
newtRefArg  r 
)

ファイルの存在確認

引数:
rcvr [in] レシーバ
r [in] ファイルのパス
戻り値:
true ファイルが存在する
false ファイルが存在しない
覚え書き:
スクリプトからの呼出し用

NewtFile.c630 行で定義されています。

参照先 kNErrNotAStringNewtFileExists()NewtMakeBooleanNewtRefIsString()NewtRefToStringNewtThrow().

参照元 NVMInitExGlobalFns().

関数の呼び出しグラフ:

newtRef NsJoinPath ( newtRefArg  rcvr,
newtRefArg  r1,
newtRefArg  r2 
)

ディレクトリ名とファイル名からパスを作成

引数:
rcvr [in] レシーバ
r1 [in] ディレクトリ名
r2 [in] ファイル名
戻り値:
作成されたパス

NewtFile.c712 行で定義されています。

参照先 kNewtRefNILNcStringer()NewtGetFileSeparator()NewtMakeArray2()NewtMakeCharacter.

参照元 NVMInitExGlobalFns().

関数の呼び出しグラフ:

newtRef NsLoad ( newtRefArg  rcvr,
newtRefArg  r 
)

ソースファイルのロード

引数:
rcvr [in] レシーバ
r [in] ロードするソースファイルのパス
戻り値:
実行結果のオブジェクト

NewtFile.c461 行で定義されています。

参照先 kNewtRefUnbindNewtRefIsNotNILNsCompileFile()NVMCall().

参照元 NVMInitExGlobalFns().

関数の呼び出しグラフ:

newtRef NsRequire ( newtRefArg  rcvr,
newtRefArg  r 
)

ライブラリの要求

引数:
rcvr [in] レシーバ
r [in] ロードするライブラリのシンボル文字列
戻り値:
ロードされたライブラリのシンボル
覚え書き:
シンボルによりライブラリを要求する。 拡張子は必要ない。適宜ライブラリパスにより検索される。 一度ロードされたライブラリは読込まれない。

NewtFile.c604 行で定義されています。

参照先 kNErrFileNotFoundkNewtRefUnbindNcRequire0()NewtThrow().

参照元 NVMInitExGlobalFns().

関数の呼び出しグラフ:


NEWT/0に対してThu Nov 23 16:56:37 2006に生成されました。  doxygen 1.5.0