fsetupcmd added to fspmerge client

This commit is contained in:
Radim Kolar 2009-09-09 11:58:56 +02:00
parent 4cfecbc611
commit effdd3481c
5 changed files with 25 additions and 19 deletions

View File

@ -40,6 +40,7 @@ clients/frmcmd_m.c
clients/frmdircmd_m.c
clients/fstatcmd_m.c
clients/fver_m.c
clients/fsetupcmd_m.c
contrib/fspscan
doc/fsp-faq.html
include/config.h

View File

@ -30,6 +30,7 @@ Version 2.8.1b25 - testing in progress
DIR_NOLIST and DIR_NOGET.
MACHINES updated. Builds confirmed on Ubuntu 8.04.3,
FreeBSD 6.4 and FreeBSD 7.2
fsetupcmd added to fspmerge client
Version 2.8.1b24 - 19 Feb 2005
use getopt from stdio.h instead of getopt.h in fspscan.c

View File

@ -25,11 +25,12 @@ if CLIENTS:
fstatcmd=env.Program(target = 'fstatcmd',source=['fstatcmd.c']+client+common)
fmvcmd=env.Program(target = 'fmvcmd',source=['fmvcmd.c']+client+common)
fbyecmd=env.Program(target = 'fbye',source=['fbye.c']+client+common)
fsetupcmd=env.Program(target = 'fsetupcmd',source=['fsetupcmd.c','fspsites.l','fhost.c']+client+common)
fspsites=env.StaticObject('fspsites.l', LEXFLAGS='-Psite')
fsetupcmd=env.Program(target = 'fsetupcmd',source=['fsetupcmd.c',fspsites,'fhost.c']+client+common)
MERGED_SRC=[ 'fcatcmd','fcdcmd','fducmd','ffindcmd','fgetcmd','fgrabcmd',
'fhostcmd','flscmd','fmkdir','fprocmd','fput','frmcmd',
'frmdircmd','fver','fstatcmd','fmvcmd','fbye']
'frmdircmd','fver','fstatcmd','fmvcmd','fbye', 'fsetupcmd']
for program in MERGED_SRC:
createMergeSource(program)
@ -51,10 +52,11 @@ if CLIENTS:
fstatcmd_m=env.StaticObject('fstatcmd_m.c', CPPDEFINES='-Dmain=fstatcmd_main')
fmvcmd_m=env.StaticObject('fmvcmd_m.c', CPPDEFINES='-Dmain=fmvcmd_main')
fbye_m=env.StaticObject('fbye_m.c', CPPDEFINES='-Dmain=fbye_main')
fspmerge=env.Program(target = 'fspmerge',source=['merge.c','printpro.c','fspprof.l','fhost.c']+
fsetupcmd_m=env.StaticObject('fsetupcmd_m.c', CPPDEFINES='-Dmain=fsetupcmd_main')
fspmerge=env.Program(target = 'fspmerge',source=['merge.c','printpro.c','fspprof.l','fhost.c',fspsites]+
[fcatcmd_m, fcdcmd_m, fducmd_m, ffindcmd_m, fgetcmd_m, fgrabcmd_m,
fhostcmd_m, flscmd_m, fmkdir_m, fprocmd_m, fput_m, frmcmd_m,
frmdircmd_m, fver_m, fmvcmd_m, fstatcmd_m, fbye_m] + [
frmdircmd_m, fver_m, fmvcmd_m, fstatcmd_m, fbye_m, fsetupcmd_m] + [
client, common, bsdfsp])
PROGRAMS=[ fcatcmd, fcdcmd, fducmd, ffindcmd, fgetcmd, fgrabcmd, fhostcmd,

View File

@ -31,9 +31,9 @@ static int tryfile=0;
/* generated lex parser */
extern FILE *yyin;
int yylex(void);
int yywrap(void);
extern FILE *sitein;
int sitelex(void);
int sitewrap(void);
static void setup_usage (void) /* print usage message */
{
@ -55,13 +55,13 @@ static void parse_prof_file_new (const char * filename)
if(input)
{
yyin=input;
sitein=input;
rc=0;
} else
rc=yywrap();
rc=sitewrap();
if(rc==0)
yylex();
sitelex();
if(input)
fclose(input);
@ -144,22 +144,22 @@ int main (int argc, char ** argv)
* Returns: 1 for terminating scanner or 0 for switching
*/
int yywrap(void)
int sitewrap(void)
{
char *f2=NULL;
int rc;
if(yyin!=NULL)
if(sitein!=NULL)
{
fclose(yyin);
yyin=NULL;
fclose(sitein);
sitein=NULL;
}
switch(tryfile)
{
case 0:
/* file in cur. dir */
yyin=fopen(FSPSITES,"r");
sitein=fopen(FSPSITES,"r");
break;
case 1:
/* file in home dir */
@ -169,20 +169,20 @@ int yywrap(void)
return(1);
}
sprintf (f2,"%s/%s",home,FSPSITES);
yyin=fopen(f2,"r");
sitein=fopen(f2,"r");
free(f2);
break;
case 2:
yyin=fopen(FSPSITESRC,"r");
sitein=fopen(FSPSITESRC,"r");
break;
default:
return 1;
}
tryfile++;
if(yyin==NULL)
if(sitein==NULL)
{
/* try next available */
rc=yywrap();
rc=sitewrap();
return rc;
}

View File

@ -39,6 +39,8 @@ int main (int argc, char ** argv)
else if(!strcmp(q,"fstatcmd")) fstatcmd_main(argc,argv);
else if(!strcmp(q,"fmvcmd")) fmvcmd_main(argc,argv);
else if(!strcmp(q,"fbye")) fbye_main(argc,argv);
else if(!strcmp(q,"fsetupcmd")) fsetupcmd_main(argc,argv);
else {
fprintf(stderr,"Unknown FSP client command: %s\n",q);
exit(EX_USAGE);