Update from PSI

r1039 | ffr | 2006-08-03 09:59:29 +1000 (Thu, 03 Aug 2006) | 2 lines
This commit is contained in:
Ferdi Franceschini
2006-08-03 09:59:29 +10:00
committed by Douglas Clowes
parent 4aa50787c2
commit 074f1cb3cd
63 changed files with 1431 additions and 286 deletions

View File

@@ -400,12 +400,18 @@ typedef enum _CharType {eSpace, eNum,eeText,eQuote} CharType;
return 1;
}
/*--------------------------------------------------------------------------*/
char *Arg2Tcl(int argc, char *argv[], char *buffer, int buffersize) {
int i, l, firstArgToQuote, quote;
char *Arg2Tcl0(int argc, char *argv[], char *buffer, int buffersize, char *prepend) {
int i, l, firstArgToQuote, quote, prependlen;
char ch;
char *res, *arg;
l = 0;
if (prepend) {
prependlen = strlen(prepend);
l = prependlen + 1;
} else {
prependlen = 0;
l = 0;
}
firstArgToQuote = argc;
quote = 0;
for (i=0; i<argc; i++) {
@@ -443,6 +449,11 @@ char *Arg2Tcl(int argc, char *argv[], char *buffer, int buffersize) {
if (buffer == NULL) return NULL;
}
res = buffer;
if (prepend) {
strcpy(res, prepend);
res += prependlen;
*res++ = ' ';
}
for (i=0; i<argc; i++) {
if (i >= firstArgToQuote) *res++ = '"';
arg = argv[i];
@@ -464,6 +475,10 @@ char *Arg2Tcl(int argc, char *argv[], char *buffer, int buffersize) {
*res='\0';
return buffer;
}
/*--------------------------------------------------------------------------*/
char *Arg2Tcl(int argc, char *argv[], char *buffer, int buffersize) {
return Arg2Tcl0(argc, argv, buffer, buffersize, NULL);
}
/*============================================================================
Testprogram, can be activated by defining MAIN