- modified and improved various env. drivers

- implemented string array object
This commit is contained in:
zolliker
2006-06-20 13:29:32 +00:00
parent 8b12033cb2
commit c1bbdb935e
19 changed files with 1495 additions and 499 deletions

24
sugar.c
View File

@ -9,6 +9,7 @@ Markus Zolliker, March 2005
#include <stdio.h>
#include "sics.h"
#include "splitter.h"
#include "sugar.h"
#include "pardef.h"
@ -20,12 +21,25 @@ typedef struct {
int SugarCommand(SConnection *con, SicsInterp *sics, void *data, int argc, char *argv[]) {
Sugar *sugar = data;
char value[256], buf[256];
char *cmd;
char **args;
char buf[256];
int i;
assert(sugar);
ParArg2Text(argc-1, argv+1, value, sizeof value);
snprintf(buf, sizeof buf, "%s %s", sugar->alias, value);
return SCInvoke(con, sics, buf);
if (argc < 1) return 0;
args = calloc(argc, sizeof(char *));
if (!args) return 0;
args[0] = sugar->alias;
for (i=1; i<argc; i++) {
args[i] = argv[i];
}
cmd = Arg2Tcl(argc+1, args, buf, sizeof(buf));
free(args);
if (!cmd) return 0;
i = SCInvoke(con, sics, cmd);
if (cmd != buf) free(cmd);
return i;
}
void SugarDelete(void *data) {