This commit is contained in:
elvis
2022-04-17 23:50:38 +02:00
parent 5642ad4906
commit 3bf2a13e89
3 changed files with 41 additions and 26 deletions

View File

@ -5,6 +5,9 @@
#include <unistd.h>
#include <errno.h>
#include <time.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fts.h>
#include <api.h>
@ -51,7 +54,20 @@ void cleanup() {
// -h
static void usage(const char *argv0) {
// TODO change this
fprintf(stdout, "use: %s <config file location>\n", argv0);
printf("Uso: %s\n", argv0);
printf("-h: stampa il presente messaggio d'aiuto.\n");
printf("-f filename: connettiti al socket AF_UNIX 'filename'.\n");
printf("-w dirname[,n=0]: invia al server 'n' file nella cartella 'dirname'. Se n=0 o non e' specificato, tenta di inviare tutti i file al server.\n");
printf("-W file1[,file2]: scrivi sul server una lista di file, separati da virgole.\n");
printf("-D dirname: specifica la cartella dove scrivere i file espulsi dal server in seguito a capacity misses.\n");
printf("-r file1[,file2]: leggi dal server una lista di nomi di file, separati da virgole.\n");
printf("-R [n=0]: leggi dal server 'n' file qualsiasi. Se n=0 o non e' specificato, leggi tutti i file presenti nel server per i quali si hanno i permessi necessari.\n");
printf("-d dirname: cartella dove scrivere i file letti dal server con i comandi '-r' o '-R'.\n");
printf("-t time: se specificato, fra le richieste successive al server vi sara' un'attesa di 'time' millisecondi.\n");
printf("-l file1[,file2]: acquisisci la mutua esclusione su una lista di file, separati da virgole.\n");
printf("-u file1[,file2]: rilascia la mutua esclusione su una lista di file, separati da virgole.\n");
printf("-c file1[,file2]: rimuovi dal server una lista di file (se presenti), separati da virgole.\n");
printf("-p: stampa sullo standard output le informazioni riguardo ogni operazione effettuata.\n");
}
// -f
@ -466,6 +482,10 @@ int cmd_f(char *socket) {
}
int cmd_w(char *dirname, char *Dir, int print) {
if(!dirname) {
errno = EINVAL;
return -1;
}
return 0;
}

View File

@ -14,10 +14,7 @@
#include <taglialegna.h>
#include <serverWorker.h>
#include <threadpool.h>
#if defined(__linux__)
#include <strsep_gnu.h>
#endif /* __linux__ */
int parser(int len, char *command, queueT *queue, long fd_c, taglia_t* taglia, pthread_mutex_t *lock, waiting_t **waiting);
@ -155,17 +152,9 @@ int parser(int len, char *command, queueT *queue, long fd_c, taglia_t* taglia, p
char *token2 = NULL;
char *token3 = NULL;
#if defined(__APPLE__) || defined(__FreeBSD__)
token = strsep(&string, "|");
token2 = strsep(&string, "|");
token3 = strsep(&string, "|");
#endif /* __APPLE__ or __FreeBSD__ */
#if defined(__linux__)
token = strsep_gnu(&string, "|");
token2 = strsep_gnu(&string, "|");
token3 = strsep_gnu(&string, "|");
#endif
if(!token)
goto _parser_cleanup;