Commit
This commit is contained in:
@ -17,6 +17,11 @@
|
|||||||
char *
|
char *
|
||||||
strsep_gnu (char **stringp, const char *delim)
|
strsep_gnu (char **stringp, const char *delim)
|
||||||
{
|
{
|
||||||
|
#if defined(__APPLE__) || defined(__FreeBSD__)
|
||||||
|
return strsep(stringp, delim);
|
||||||
|
#endif /* __APPLE__ or __FreeBSD__ */
|
||||||
|
|
||||||
|
#if defined(__linux__)
|
||||||
char *begin, *end;
|
char *begin, *end;
|
||||||
begin = *stringp;
|
begin = *stringp;
|
||||||
if (begin == NULL)
|
if (begin == NULL)
|
||||||
@ -33,4 +38,5 @@ strsep_gnu (char **stringp, const char *delim)
|
|||||||
/* No more delimiters; this is the last token. */
|
/* No more delimiters; this is the last token. */
|
||||||
*stringp = NULL;
|
*stringp = NULL;
|
||||||
return begin;
|
return begin;
|
||||||
|
#endif /* __linux__ */
|
||||||
}
|
}
|
||||||
|
|||||||
22
src/client.c
22
src/client.c
@ -5,6 +5,9 @@
|
|||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <fts.h>
|
||||||
|
|
||||||
#include <api.h>
|
#include <api.h>
|
||||||
|
|
||||||
@ -51,7 +54,20 @@ void cleanup() {
|
|||||||
// -h
|
// -h
|
||||||
static void usage(const char *argv0) {
|
static void usage(const char *argv0) {
|
||||||
// TODO change this
|
// 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
|
// -f
|
||||||
@ -466,6 +482,10 @@ int cmd_f(char *socket) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int cmd_w(char *dirname, char *Dir, int print) {
|
int cmd_w(char *dirname, char *Dir, int print) {
|
||||||
|
if(!dirname) {
|
||||||
|
errno = EINVAL;
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -14,10 +14,7 @@
|
|||||||
#include <taglialegna.h>
|
#include <taglialegna.h>
|
||||||
#include <serverWorker.h>
|
#include <serverWorker.h>
|
||||||
#include <threadpool.h>
|
#include <threadpool.h>
|
||||||
|
|
||||||
#if defined(__linux__)
|
|
||||||
#include <strsep_gnu.h>
|
#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);
|
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 *token2 = NULL;
|
||||||
char *token3 = 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, "|");
|
token = strsep_gnu(&string, "|");
|
||||||
token2 = strsep_gnu(&string, "|");
|
token2 = strsep_gnu(&string, "|");
|
||||||
token3 = strsep_gnu(&string, "|");
|
token3 = strsep_gnu(&string, "|");
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
if(!token)
|
if(!token)
|
||||||
goto _parser_cleanup;
|
goto _parser_cleanup;
|
||||||
|
|||||||
Reference in New Issue
Block a user