Added minimal logic for -r, -R, -u, -l, -c

This commit is contained in:
elvis
2022-04-17 19:22:22 +02:00
parent 8fcdc90407
commit 5642ad4906
2 changed files with 51 additions and 8 deletions

View File

@ -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

View File

@ -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;
}