Added minimal logic for -r, -R, -u, -l, -c
This commit is contained in:
2
Makefile
2
Makefile
@ -3,7 +3,7 @@ CFLAGS += -std=c99 -Wall -Werror -pedantic -g
|
|||||||
INCDIR = ./lib/utils ./lib/ini ./lib/threadpool ./src ./lib/log ./lib/api
|
INCDIR = ./lib/utils ./lib/ini ./lib/threadpool ./src ./lib/log ./lib/api
|
||||||
INCLUDES := $(patsubst %,-I %,$(INCDIR))
|
INCLUDES := $(patsubst %,-I %,$(INCDIR))
|
||||||
LDFLAGS = -L .
|
LDFLAGS = -L .
|
||||||
OPTFLAGS = -O3
|
OPTFLAGS = #-O3
|
||||||
LIBS = -lpthread
|
LIBS = -lpthread
|
||||||
SOCKET = ./cs_sock
|
SOCKET = ./cs_sock
|
||||||
|
|
||||||
|
|||||||
57
src/client.c
57
src/client.c
@ -4,6 +4,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#include <time.h>
|
||||||
|
|
||||||
#include <api.h>
|
#include <api.h>
|
||||||
|
|
||||||
@ -41,8 +42,9 @@ int execute(cmd_t *l, int print);
|
|||||||
|
|
||||||
// per chiudere la connessione prima dell'uscita
|
// per chiudere la connessione prima dell'uscita
|
||||||
void cleanup() {
|
void cleanup() {
|
||||||
if (strncmp(globalSocket, "", 1) != 0) {
|
if (strncmp(globalSocket, "", 2) != 0) {
|
||||||
closeConnection(globalSocket);
|
closeConnection(globalSocket);
|
||||||
|
strncpy(globalSocket, "", 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -58,6 +60,16 @@ int cmd_f(char *socket);
|
|||||||
int cmd_w(char *dirname, char *Dir, int print);
|
int cmd_w(char *dirname, char *Dir, int print);
|
||||||
// -W
|
// -W
|
||||||
int cmd_W(char *filelist, char *Dir, int print);
|
int cmd_W(char *filelist, char *Dir, int print);
|
||||||
|
// -r
|
||||||
|
int cmd_r(char *filelist, char *dir, int print);
|
||||||
|
// -R
|
||||||
|
int cmd_R(char *numStr, char *dir, int print);
|
||||||
|
// -l
|
||||||
|
int cmd_l(char *filelist, int print);
|
||||||
|
// -u
|
||||||
|
int cmd_u(char *filelist, int print);
|
||||||
|
// -c
|
||||||
|
int cmd_c(char *filelist, int print);
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
// MAIN
|
// MAIN
|
||||||
@ -385,10 +397,10 @@ int execute(cmd_t *l, int print) {
|
|||||||
printf("\nD - Cartella per le scritture: %s\tEsito: ok\n", Dir);
|
printf("\nD - Cartella per le scritture: %s\tEsito: ok\n", Dir);
|
||||||
break;
|
break;
|
||||||
case 'r':
|
case 'r':
|
||||||
|
cmd_r(tmp->arg, dir, print);
|
||||||
break;
|
break;
|
||||||
case 'R':
|
case 'R':
|
||||||
|
cmd_R(tmp->arg, dir, print);
|
||||||
break;
|
break;
|
||||||
case 'd':
|
case 'd':
|
||||||
if(dir)
|
if(dir)
|
||||||
@ -404,21 +416,32 @@ int execute(cmd_t *l, int print) {
|
|||||||
printf("\nd - Cartella per le letture: %s\tEsito: ok\n", dir);
|
printf("\nd - Cartella per le letture: %s\tEsito: ok\n", dir);
|
||||||
break;
|
break;
|
||||||
case 'l':
|
case 'l':
|
||||||
|
cmd_l(tmp->arg, print);
|
||||||
break;
|
break;
|
||||||
case 'u':
|
case 'u':
|
||||||
|
cmd_u(tmp->arg, print);
|
||||||
break;
|
break;
|
||||||
case 'c':
|
case 'c':
|
||||||
|
cmd_c(tmp->arg, print);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
// maybe better: while(nanosleep(&interval, &interval));
|
||||||
|
nanosleep(&interval, NULL);
|
||||||
tmp = tmp->next;
|
tmp = tmp->next;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(print)
|
||||||
|
printf("\n");
|
||||||
|
|
||||||
|
if(dir)
|
||||||
|
free(dir);
|
||||||
|
|
||||||
|
if(Dir)
|
||||||
|
free(Dir);
|
||||||
|
|
||||||
|
cleanup();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -449,3 +472,23 @@ int cmd_w(char *dirname, char *Dir, int print) {
|
|||||||
int cmd_W(char *filelist, char *Dir, int print) {
|
int cmd_W(char *filelist, char *Dir, int print) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int cmd_r(char *filelist, char *dir, int print) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int cmd_R(char *numStr, char *dir, int print) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int cmd_l(char *filelist, int print) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int cmd_u(char *filelist, int print) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int cmd_c(char *filelist, int print) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user