*** empty log message ***
This commit is contained in:
parent
40cdec67b4
commit
34d3ce3590
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: awk.h,v 1.112 2006-09-08 15:26:49 bacon Exp $
|
* $Id: awk.h,v 1.113 2006-09-09 04:52:39 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _XP_AWK_AWK_H_
|
#ifndef _XP_AWK_AWK_H_
|
||||||
@ -125,7 +125,7 @@ enum
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* various options */
|
/* various options */
|
||||||
enum
|
enum xp_awk_option_t
|
||||||
{
|
{
|
||||||
/* allow undeclared variables */
|
/* allow undeclared variables */
|
||||||
XP_AWK_IMPLICIT = (1 << 0),
|
XP_AWK_IMPLICIT = (1 << 0),
|
||||||
@ -184,7 +184,7 @@ enum
|
|||||||
};
|
};
|
||||||
|
|
||||||
/* error code */
|
/* error code */
|
||||||
enum
|
enum ant_awk_errnum_t
|
||||||
{
|
{
|
||||||
XP_AWK_ENOERR, /* no error */
|
XP_AWK_ENOERR, /* no error */
|
||||||
XP_AWK_ENOMEM, /* out of memory */
|
XP_AWK_ENOMEM, /* out of memory */
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: awk_i.h,v 1.56 2006-09-08 15:26:49 bacon Exp $
|
* $Id: awk_i.h,v 1.57 2006-09-09 04:52:40 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _XP_AWK_AWKI_H_
|
#ifndef _XP_AWK_AWKI_H_
|
||||||
@ -17,8 +17,6 @@ typedef struct xp_awk_tree_t xp_awk_tree_t;
|
|||||||
#error Neither XP_CHAR_IS_MCHAR nor XP_CHAR_IS_WCHAR is defined.
|
#error Neither XP_CHAR_IS_MCHAR nor XP_CHAR_IS_WCHAR is defined.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: misc.c,v 1.17 2006-09-08 15:26:49 bacon Exp $
|
* $Id: misc.c,v 1.18 2006-09-09 04:52:40 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <xp/awk/awk_i.h>
|
#include <xp/awk/awk_i.h>
|
||||||
@ -517,7 +517,6 @@ xp_char_t* xp_awk_strxntok (
|
|||||||
xp_char_t c;
|
xp_char_t c;
|
||||||
int delim_mode;
|
int delim_mode;
|
||||||
|
|
||||||
xp_printf (XP_T("ignorecase = %d\n"), run->rex.ignorecase);
|
|
||||||
#define __DELIM_NULL 0
|
#define __DELIM_NULL 0
|
||||||
#define __DELIM_EMPTY 1
|
#define __DELIM_EMPTY 1
|
||||||
#define __DELIM_SPACES 2
|
#define __DELIM_SPACES 2
|
||||||
@ -601,15 +600,33 @@ xp_printf (XP_T("ignorecase = %d\n"), run->rex.ignorecase);
|
|||||||
{
|
{
|
||||||
/* each token is delimited by one of charaters
|
/* each token is delimited by one of charaters
|
||||||
* in the delimeter set "delim". */
|
* in the delimeter set "delim". */
|
||||||
while (p < end)
|
if (run->rex.ignorecase)
|
||||||
{
|
{
|
||||||
c = *p;
|
while (p < end)
|
||||||
for (d = delim; d < delim_end; d++)
|
|
||||||
{
|
{
|
||||||
if (c == *d) goto exit_loop;
|
c = XP_AWK_TOUPPER(run->awk, *p);
|
||||||
|
for (d = delim; d < delim_end; d++)
|
||||||
|
{
|
||||||
|
if (c == XP_AWK_TOUPPER(run->awk,*d)) goto exit_loop;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sp == XP_NULL) sp = p;
|
||||||
|
ep = p++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
while (p < end)
|
||||||
|
{
|
||||||
|
c = *p;
|
||||||
|
for (d = delim; d < delim_end; d++)
|
||||||
|
{
|
||||||
|
if (c == *d) goto exit_loop;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sp == XP_NULL) sp = p;
|
||||||
|
ep = p++;
|
||||||
}
|
}
|
||||||
if (sp == XP_NULL) sp = p;
|
|
||||||
ep = p++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else /* if (delim_mode == __DELIM_COMPOSITE) */
|
else /* if (delim_mode == __DELIM_COMPOSITE) */
|
||||||
@ -618,20 +635,41 @@ xp_printf (XP_T("ignorecase = %d\n"), run->rex.ignorecase);
|
|||||||
* in the delimeter set "delim". however, all space characters
|
* in the delimeter set "delim". however, all space characters
|
||||||
* surrounding the token are removed */
|
* surrounding the token are removed */
|
||||||
while (p < end && XP_AWK_ISSPACE(run->awk,*p)) p++;
|
while (p < end && XP_AWK_ISSPACE(run->awk,*p)) p++;
|
||||||
while (p < end)
|
if (run->rex.ignorecase)
|
||||||
{
|
{
|
||||||
c = *p;
|
while (p < end)
|
||||||
if (XP_AWK_ISSPACE(run->awk,c))
|
|
||||||
{
|
{
|
||||||
p++;
|
c = XP_AWK_TOUPPER(run->awk, *p);
|
||||||
continue;
|
if (XP_AWK_ISSPACE(run->awk,c))
|
||||||
|
{
|
||||||
|
p++;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
for (d = delim; d < delim_end; d++)
|
||||||
|
{
|
||||||
|
if (c == XP_AWK_TOUPPER(run->awk,*d)) goto exit_loop;
|
||||||
|
}
|
||||||
|
if (sp == XP_NULL) sp = p;
|
||||||
|
ep = p++;
|
||||||
}
|
}
|
||||||
for (d = delim; d < delim_end; d++)
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
while (p < end)
|
||||||
{
|
{
|
||||||
if (c == *d) goto exit_loop;
|
c = *p;
|
||||||
|
if (XP_AWK_ISSPACE(run->awk,c))
|
||||||
|
{
|
||||||
|
p++;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
for (d = delim; d < delim_end; d++)
|
||||||
|
{
|
||||||
|
if (c == *d) goto exit_loop;
|
||||||
|
}
|
||||||
|
if (sp == XP_NULL) sp = p;
|
||||||
|
ep = p++;
|
||||||
}
|
}
|
||||||
if (sp == XP_NULL) sp = p;
|
|
||||||
ep = p++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user