From 4803cf8e13a67d9a8944c641700f733598d5ebdc Mon Sep 17 00:00:00 2001 From: Lisa Milne Date: Tue, 21 Nov 2023 14:05:09 +1000 Subject: [PATCH] remove getFileType from stdlib --- clite/commands.js | 66 +++++++++++++++++++++++++---------------------- clite/core.js | 1 - readme.txt | 9 +------ 3 files changed, 36 insertions(+), 40 deletions(-) diff --git a/clite/commands.js b/clite/commands.js index 16b6f3f..264451f 100644 --- a/clite/commands.js +++ b/clite/commands.js @@ -333,8 +333,8 @@ Options: io.exit(1); return; } - var t = stdlib.getFileType(fd); - if (t != 1 && t != 7) { + var st = stdio.fstat(fd); + if ( !st || (st.type != stdio.types.FT_TEXT && st.type != stdio.types.FT_SCRIPT)) { io.error('can not read files of this type'); io.exit(1); return; @@ -475,38 +475,42 @@ Options: return 1; } - var t = stdlib.getFileType(fd); + var st = stdio.fstat(fd); stdio.close(fd); var txt = short+': '; - switch (t) { - case 1: - txt += 'Plain Text'; - break; - case 2: - txt += 'CLIte Executable'; - break; - case 3: - txt += 'Directory'; - break; - case 4: - txt += 'Link'; - break; - case 5: - txt += 'Device File'; - break; - case 6: - txt += 'Unloaded Remote Data'; - break; - case 7: - txt += 'Shell Script'; - break; - case 8: - txt += 'Image'; - break; - default: - txt += 'Unknown Data'; - break; + if (!st) { + txt += 'Unknown'; + }else{ + switch (st.type) { + case stdio.types.FT_TEXT: + txt += 'Plain Text'; + break; + case stdio.types.FT_BINARY: + txt += 'CLIte Executable'; + break; + case stdio.types.FT_DIR: + txt += 'Directory'; + break; + case stdio.types.FT_LINK: + txt += 'Link'; + break; + case stdio.types.FT_DEV: + txt += 'Device File'; + break; + case stdio.types.FT_REMOTE: + txt += 'Unloaded Remote Data'; + break; + case stdio.types.FT_SCRIPT: + txt += 'Shell Script'; + break; + case stdio.types.FT_IMAGE: + txt += 'Image'; + break; + default: + txt += 'Unknown Data'; + break; + } } io.write(txt); diff --git a/clite/core.js b/clite/core.js index f619906..e079c4c 100644 --- a/clite/core.js +++ b/clite/core.js @@ -1831,7 +1831,6 @@ clite.lib.api = { // this is passed to programs via include('stdlib') basename:clite.lib.basename, dirname:clite.lib.dirname, resolvePath:clite.lib.resolvePath, - getFileType:clite.lib.getFileType, strToArgs:clite.lib.strToArgs, fork:clite.lib.fork, exec:clite.lib.exec diff --git a/readme.txt b/readme.txt index 4f64947..cb2504f 100644 --- a/readme.txt +++ b/readme.txt @@ -152,12 +152,6 @@ stdlib: io.include('stdlib') resolvePath('file.txt','/etc') -> '/etc/file.txt' resolvePath('~/../file.txt') -> '/usr/home/file.txt' - getFileType(fd) - special function that returns the type of file that a file - descriptor refers to. See stdio.types for return values. - Likely to be removed, as stdio.stat('path') or stdio.fstat(fd) - includes this data. - strToArgs('string') special function that splits a string into an array of arguments for passing to exec(), supports quotes and so on: @@ -173,8 +167,7 @@ stdio: io.include('stdio') Provides access to io functions and types for file access stdio.types: - object for mapping return values of stdlib.getFileType() or values of - stat.type: + object for mapping values of stat.type: FT_UNKOWN: 0 Unknown file type FT_TEXT: 1 Plain text file FT_BINARY: 2 Binary file, likely a javascript function