*** empty log message ***
This commit is contained in:
parent
465aef1208
commit
ed0520bc4e
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: func.c,v 1.89 2007-01-07 07:30:39 bacon Exp $
|
* $Id: func.c,v 1.90 2007-01-17 03:45:59 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <ase/awk/awk_i.h>
|
#include <ase/awk/awk_i.h>
|
||||||
@ -51,7 +51,10 @@ void* ase_awk_addbfn (
|
|||||||
|
|
||||||
if (ase_awk_getbfn (awk, name, name_len) != ASE_NULL)
|
if (ase_awk_getbfn (awk, name, name_len) != ASE_NULL)
|
||||||
{
|
{
|
||||||
ase_awk_seterror (awk, ASE_AWK_EEXIST, 0, ASE_NULL);
|
awk->sysfns.sprintf (
|
||||||
|
awk->errmsg, ASE_COUNTOF(awk->errmsg),
|
||||||
|
ASE_T("'%.*s' added already"), name_len, name);
|
||||||
|
ase_awk_seterror (awk, ASE_AWK_EEXIST, 0, awk->errmsg);
|
||||||
return ASE_NULL;
|
return ASE_NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* $Id: Awk.cpp,v 1.19 2007-01-16 14:20:42 bacon Exp $
|
* $Id: Awk.cpp,v 1.20 2007-01-17 03:45:59 bacon Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "stdafx.h"
|
#include "stdafx.h"
|
||||||
@ -473,6 +473,8 @@ HRESULT CAwk::Parse (int* ret)
|
|||||||
ASE_AWK_DEPTH_REX_MATCH, max_depth.rex.match);
|
ASE_AWK_DEPTH_REX_MATCH, max_depth.rex.match);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ase_awk_clrbfn (handle);
|
||||||
|
|
||||||
for (bfn_t* bfn = bfn_list; bfn != NULL; bfn = bfn->next)
|
for (bfn_t* bfn = bfn_list; bfn != NULL; bfn = bfn->next)
|
||||||
{
|
{
|
||||||
if (ase_awk_addbfn (
|
if (ase_awk_addbfn (
|
||||||
@ -724,7 +726,28 @@ HRESULT CAwk::Run (int* ret)
|
|||||||
STDMETHODIMP CAwk::AddBuiltinFunction (
|
STDMETHODIMP CAwk::AddBuiltinFunction (
|
||||||
BSTR name, int min_args, int max_args, int* ret)
|
BSTR name, int min_args, int max_args, int* ret)
|
||||||
{
|
{
|
||||||
bfn_t* bfn = (bfn_t*)malloc (sizeof(bfn_t));
|
bfn_t* bfn;
|
||||||
|
size_t name_len = SysStringLen(name);
|
||||||
|
|
||||||
|
for (bfn = bfn_list; bfn != NULL; bfn = bfn->next)
|
||||||
|
{
|
||||||
|
if (ase_awk_strxncmp (
|
||||||
|
bfn->name.ptr, bfn->name.len,
|
||||||
|
name, name_len) == 0)
|
||||||
|
{
|
||||||
|
errnum = ASE_AWK_EEXIST;
|
||||||
|
errlin = 0;
|
||||||
|
_sntprintf (
|
||||||
|
errmsg, ASE_COUNTOF(errmsg),
|
||||||
|
_T("'%.*s' added already\n"),
|
||||||
|
bfn->name.len, bfn->name.ptr);
|
||||||
|
|
||||||
|
*ret = -1;
|
||||||
|
return S_OK;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bfn = (bfn_t*)malloc (sizeof(bfn_t));
|
||||||
if (bfn == NULL)
|
if (bfn == NULL)
|
||||||
{
|
{
|
||||||
errnum = ASE_AWK_ENOMEM;
|
errnum = ASE_AWK_ENOMEM;
|
||||||
@ -737,7 +760,7 @@ STDMETHODIMP CAwk::AddBuiltinFunction (
|
|||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
bfn->name.len = SysStringLen(name);
|
bfn->name.len = name_len;
|
||||||
bfn->name.ptr = (TCHAR*)malloc (bfn->name.len * sizeof(TCHAR));
|
bfn->name.ptr = (TCHAR*)malloc (bfn->name.len * sizeof(TCHAR));
|
||||||
if (bfn->name.ptr == NULL)
|
if (bfn->name.ptr == NULL)
|
||||||
{
|
{
|
||||||
|
@ -173,14 +173,16 @@ Private Sub Execute_Click()
|
|||||||
'Awk.MaxDepthForRexMatch = 10
|
'Awk.MaxDepthForRexMatch = 10
|
||||||
|
|
||||||
Awk.UseLongLong = False
|
Awk.UseLongLong = False
|
||||||
|
|
||||||
Awk.Debug = True
|
Awk.Debug = True
|
||||||
|
|
||||||
If Awk.AddBuiltinFunction("sin", 1, 1) = -1 Then
|
If Awk.AddBuiltinFunction("sin", 1, 1) = -1 Then
|
||||||
MsgBox "Cannot add builtin function - " + Awk.ErrorMessage
|
MsgBox "Cannot add builtin function - " + Awk.ErrorMessage
|
||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
Call Awk.AddBuiltinFunction("cos", 1, 1)
|
If Awk.AddBuiltinFunction("cos", 1, 1) = -1 Then
|
||||||
|
MsgBox "Cannot add builtin function - " + Awk.ErrorMessage
|
||||||
|
Exit Sub
|
||||||
|
End If
|
||||||
Call Awk.AddBuiltinFunction("tan", 1, 1)
|
Call Awk.AddBuiltinFunction("tan", 1, 1)
|
||||||
Call Awk.AddBuiltinFunction("trim", 1, 1)
|
Call Awk.AddBuiltinFunction("trim", 1, 1)
|
||||||
|
|
||||||
@ -266,7 +268,9 @@ Function Awk_OpenExtio(ByVal extio As ASELib.AwkExtio) As Long
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
Case ASELib.AWK_EXTIO_PIPE
|
Case ASELib.AWK_EXTIO_PIPE
|
||||||
|
Awk_OpenExtio = -1
|
||||||
Case ASELib.AWK_EXTIO_COPROC
|
Case ASELib.AWK_EXTIO_COPROC
|
||||||
|
Awk_OpenExtio = -1
|
||||||
End Select
|
End Select
|
||||||
|
|
||||||
Exit Function
|
Exit Function
|
||||||
@ -293,7 +297,9 @@ Function Awk_CloseExtio(ByVal extio As ASELib.AwkExtio) As Long
|
|||||||
Awk_CloseExtio = 0
|
Awk_CloseExtio = 0
|
||||||
End If
|
End If
|
||||||
Case ASELib.AWK_EXTIO_PIPE
|
Case ASELib.AWK_EXTIO_PIPE
|
||||||
|
Awk_CloseExtio = -1
|
||||||
Case ASELib.AWK_EXTIO_COPROC
|
Case ASELib.AWK_EXTIO_COPROC
|
||||||
|
Awk_CloseExtio = -1
|
||||||
End Select
|
End Select
|
||||||
|
|
||||||
End Function
|
End Function
|
||||||
@ -313,7 +319,9 @@ Function Awk_ReadExtio(ByVal extio As ASELib.AwkExtio, ByVal buf As ASELib.Buffe
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
Case ASELib.AWK_EXTIO_PIPE
|
Case ASELib.AWK_EXTIO_PIPE
|
||||||
|
Awk_ReadExtio = -1
|
||||||
Case ASELib.AWK_EXTIO_COPROC
|
Case ASELib.AWK_EXTIO_COPROC
|
||||||
|
Awk_ReadExtio = -1
|
||||||
End Select
|
End Select
|
||||||
|
|
||||||
End Function
|
End Function
|
||||||
@ -332,7 +340,9 @@ Function Awk_WriteExtio(ByVal extio As ASELib.AwkExtio, ByVal buf As ASELib.Buff
|
|||||||
Awk_WriteExtio = WriteExtioFile(extio, buf)
|
Awk_WriteExtio = WriteExtioFile(extio, buf)
|
||||||
End If
|
End If
|
||||||
Case ASELib.AWK_EXTIO_PIPE
|
Case ASELib.AWK_EXTIO_PIPE
|
||||||
|
Awk_WriteExtio = -1
|
||||||
Case ASELib.AWK_EXTIO_COPROC
|
Case ASELib.AWK_EXTIO_COPROC
|
||||||
|
Awk_WriteExtio = -1
|
||||||
End Select
|
End Select
|
||||||
End Function
|
End Function
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user