From effdd3481c6cc1c65f9d196973d1c3423e35a1c3 Mon Sep 17 00:00:00 2001 From: Radim Kolar <> Date: Wed, 9 Sep 2009 11:58:56 +0200 Subject: [PATCH] fsetupcmd added to fspmerge client --- .bzrignore | 1 + ChangeLog | 1 + clients/SConscript | 10 ++++++---- clients/fsetupcmd.c | 30 +++++++++++++++--------------- clients/merge.c | 2 ++ 5 files changed, 25 insertions(+), 19 deletions(-) diff --git a/.bzrignore b/.bzrignore index 51d530c..695ea25 100644 --- a/.bzrignore +++ b/.bzrignore @@ -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 diff --git a/ChangeLog b/ChangeLog index 88b6671..788adc9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -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 diff --git a/clients/SConscript b/clients/SConscript index bbc27b5..eea8950 100644 --- a/clients/SConscript +++ b/clients/SConscript @@ -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, diff --git a/clients/fsetupcmd.c b/clients/fsetupcmd.c index f2360a9..fbc9c04 100644 --- a/clients/fsetupcmd.c +++ b/clients/fsetupcmd.c @@ -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; } diff --git a/clients/merge.c b/clients/merge.c index 3ad476e..602992f 100644 --- a/clients/merge.c +++ b/clients/merge.c @@ -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);