aboutsummaryrefslogtreecommitdiff
path: root/src/builtin.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/builtin.c')
-rw-r--r--src/builtin.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/builtin.c b/src/builtin.c
index 9d1063c..8a07eab 100644
--- a/src/builtin.c
+++ b/src/builtin.c
@@ -1,44 +1,46 @@
/* wydawca - automatic release submission daemon
Copyright (C) 2009, 2010 Sergey Poznyakoff
Wydawca is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 3 of the License, or (at your
option) any later version.
Wydawca is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with wydawca. If not, see <http://www.gnu.org/licenses/>. */
#include "wydawca.h"
#include "builtin.h"
-#include "fnmatch.h"
-#include "regex.h"
+
+#ifndef FNM_CASEFOLD
+# define FNM_CASEFOLD 0
+#endif
int
builtin_init (struct dictionary *dict)
{
return 0;
}
int
builtin_done (struct dictionary *dict)
{
return 0;
}
void *
builtin_open (struct dictionary *dict)
{
return dict;
}
#define CMP_EXACT 0
#define CMP_FNMATCH 1
#define CMP_REGEX 2
#define RF_ICASE 0x1
@@ -199,51 +201,51 @@ builtin_lookup (struct dictionary *dict, void *handle, const char *req)
{
char *val = dict->parmv[i + j];
txtacc_grow (acc, val, strlen (val) + 1);
}
count++;
}
i += ncol;
}
dict->nrow = count;
dict->ncol = ncol;
if (count == 0)
{
txtacc_free (acc);
bds = NULL;
rc = 1;
}
else
{
size_t i;
char *p;
- bds = xmalloc (sizeof (*bds));
+ bds = grecs_malloc (sizeof (*bds));
count *= ncol;
- bds->wp = xcalloc (count, sizeof (bds->wp[0]));
+ bds->wp = grecs_calloc (count, sizeof (bds->wp[0]));
bds->acc = acc;
p = txtacc_finish (acc, 0);
for (i = 0; i < count; i++)
{
bds->wp[i] = p;
p += strlen (p) + 1;
}
rc = 0;
}
dict->storage = bds;
return rc;
}
int
builtin_free_result (struct dictionary *dict, void *handle)
{
if (dict->storage)
{
struct builtin_data_storage *bds = dict->storage;
txtacc_free (bds->acc);
free (bds->wp);

Return to:

Send suggestions and report system problems to the System administrator.