Added "cat" command.
This commit is contained in:
parent
94406b6c35
commit
b1c50bba8b
|
@ -326,6 +326,38 @@ static int cmd_issymlink(char *args)
|
|||
} /* cmd_issymlink */
|
||||
|
||||
|
||||
static int cmd_cat(char *args)
|
||||
{
|
||||
PHYSFS_file *f = PHYSFS_openRead(args);
|
||||
if (f == NULL)
|
||||
printf("failed to open. Reason: [%s].\n", PHYSFS_getLastError());
|
||||
else
|
||||
{
|
||||
while (1)
|
||||
{
|
||||
char buffer[128];
|
||||
int rc;
|
||||
int i;
|
||||
rc = PHYSFS_read(f, buffer, 1, sizeof (buffer));
|
||||
|
||||
for (i = 0; i < rc; i++)
|
||||
fputc((int) buffer[i], stdout);
|
||||
|
||||
if (rc < sizeof (buffer))
|
||||
{
|
||||
printf("\n\n");
|
||||
if (!PHYSFS_eof(f))
|
||||
printf("\n (Error condition in reading.)\n\n");
|
||||
PHYSFS_close(f);
|
||||
return(1);
|
||||
} /* if */
|
||||
} /* while */
|
||||
} /* else */
|
||||
|
||||
return(1);
|
||||
} /* cmd_cat */
|
||||
|
||||
|
||||
/* must have spaces trimmed prior to this call. */
|
||||
static int count_args(const char *str)
|
||||
{
|
||||
|
@ -381,6 +413,7 @@ static const command_info commands[] =
|
|||
{ "exists", cmd_exists, 1, "<fileToCheck>" },
|
||||
{ "isdir", cmd_isdir, 1, "<fileToCheck>" },
|
||||
{ "issymlink", cmd_issymlink, 1, "<fileToCheck>" },
|
||||
{ "cat", cmd_cat, 1, "<fileToCat>" },
|
||||
{ NULL, NULL, -1, NULL }
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue