*** empty log message ***
This commit is contained in:
parent
8dd2ceb931
commit
6ddd8df782
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: tree.c,v 1.50 2006-06-12 15:11:02 bacon Exp $
|
* $Id: tree.c,v 1.51 2006-06-13 04:26:24 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <xp/awk/awk_i.h>
|
#include <xp/awk/awk_i.h>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: awk.c,v 1.34 2006-05-13 16:33:07 bacon Exp $
|
* $Id: awk.c,v 1.35 2006-06-13 04:26:24 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <xp/awk/awk.h>
|
#include <xp/awk/awk.h>
|
||||||
@ -35,13 +35,17 @@ static xp_ssize_t process_source (
|
|||||||
{
|
{
|
||||||
xp_char_t c;
|
xp_char_t c;
|
||||||
|
|
||||||
switch (cmd) {
|
switch (cmd)
|
||||||
|
{
|
||||||
case XP_AWK_INPUT_OPEN:
|
case XP_AWK_INPUT_OPEN:
|
||||||
case XP_AWK_INPUT_CLOSE:
|
case XP_AWK_INPUT_CLOSE:
|
||||||
case XP_AWK_INPUT_NEXT:
|
case XP_AWK_INPUT_NEXT:
|
||||||
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
case XP_AWK_INPUT_DATA:
|
case XP_AWK_INPUT_DATA:
|
||||||
|
{
|
||||||
if (size <= 0) return -1;
|
if (size <= 0) return -1;
|
||||||
#ifdef XP_CHAR_IS_MCHAR
|
#ifdef XP_CHAR_IS_MCHAR
|
||||||
c = fgetc (stdin);
|
c = fgetc (stdin);
|
||||||
@ -51,13 +55,16 @@ static xp_ssize_t process_source (
|
|||||||
if (c == XP_CHAR_EOF) return 0;
|
if (c == XP_CHAR_EOF) return 0;
|
||||||
*data = c;
|
*data = c;
|
||||||
return 1;
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
case XP_AWK_OUTPUT_OPEN:
|
case XP_AWK_OUTPUT_OPEN:
|
||||||
case XP_AWK_OUTPUT_CLOSE:
|
case XP_AWK_OUTPUT_CLOSE:
|
||||||
case XP_AWK_OUTPUT_NEXT:
|
case XP_AWK_OUTPUT_NEXT:
|
||||||
case XP_AWK_OUTPUT_DATA:
|
case XP_AWK_OUTPUT_DATA:
|
||||||
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
@ -74,22 +81,30 @@ static xp_ssize_t process_data (
|
|||||||
struct data_io* io = (struct data_io*)arg;
|
struct data_io* io = (struct data_io*)arg;
|
||||||
xp_char_t c;
|
xp_char_t c;
|
||||||
|
|
||||||
switch (cmd) {
|
switch (cmd)
|
||||||
|
{
|
||||||
case XP_AWK_INPUT_OPEN:
|
case XP_AWK_INPUT_OPEN:
|
||||||
|
{
|
||||||
io->input_handle = fopen (io->input_file, "r");
|
io->input_handle = fopen (io->input_file, "r");
|
||||||
if (io->input_handle == NULL) return -1;
|
if (io->input_handle == NULL) return -1;
|
||||||
return 0;
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
case XP_AWK_INPUT_CLOSE:
|
case XP_AWK_INPUT_CLOSE:
|
||||||
|
{
|
||||||
fclose (io->input_handle);
|
fclose (io->input_handle);
|
||||||
io->input_handle = NULL;
|
io->input_handle = NULL;
|
||||||
return 0;
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
case XP_AWK_INPUT_NEXT:
|
case XP_AWK_INPUT_NEXT:
|
||||||
|
{
|
||||||
/* input switching not supported for the time being... */
|
/* input switching not supported for the time being... */
|
||||||
return -1;
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
case XP_AWK_INPUT_DATA:
|
case XP_AWK_INPUT_DATA:
|
||||||
|
{
|
||||||
if (size <= 0) return -1;
|
if (size <= 0) return -1;
|
||||||
#ifdef XP_CHAR_IS_MCHAR
|
#ifdef XP_CHAR_IS_MCHAR
|
||||||
c = fgetc (io->input_handle);
|
c = fgetc (io->input_handle);
|
||||||
@ -99,13 +114,16 @@ static xp_ssize_t process_data (
|
|||||||
if (c == XP_CHAR_EOF) return 0;
|
if (c == XP_CHAR_EOF) return 0;
|
||||||
*data = c;
|
*data = c;
|
||||||
return 1;
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
case XP_AWK_OUTPUT_OPEN:
|
case XP_AWK_OUTPUT_OPEN:
|
||||||
case XP_AWK_OUTPUT_CLOSE:
|
case XP_AWK_OUTPUT_CLOSE:
|
||||||
case XP_AWK_OUTPUT_NEXT:
|
case XP_AWK_OUTPUT_NEXT:
|
||||||
case XP_AWK_OUTPUT_DATA:
|
case XP_AWK_OUTPUT_DATA:
|
||||||
|
{
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user