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