Browse Source

Version 1.04

master
Patrick Foubet 4 months ago
parent
commit
ba2d9b43f2
1 changed files with 17 additions and 15 deletions
  1. +17
    -15
      octave.c

+ 17
- 15
octave.c View File

@@ -45,7 +45,7 @@ https://e2li.org -> menu : Projet Prosecco.
#include <arpa/inet.h> #include <arpa/inet.h>
#include <pthread.h> #include <pthread.h>


#define Version "1.03"
#define Version "1.04"


#define F_GETPIPE_SZ 1032 #define F_GETPIPE_SZ 1032
#define F_SETPIPE_SZ 1031 #define F_SETPIPE_SZ 1031
@@ -336,7 +336,7 @@ int t,v;
if (t==0) return 1; if (t==0) return 1;
if ((v=isCidr(w)) > 0) { /* test si CIDR */ if ((v=isCidr(w)) > 0) { /* test si CIDR */
addCidr(w); addCidr(w);
NbAddCidrs += (int)(1<<(32-v));
NbAddCidrs += (int)(1<<v);
return 1; return 1;
} }
if ((v=isCidr6(w)) > 0) { /* test si CIDR6 */ if ((v=isCidr6(w)) > 0) { /* test si CIDR6 */
@@ -472,12 +472,15 @@ int i,n=0;


#define EX_NOOUT 1 #define EX_NOOUT 1
#define EX_NOERR 2 #define EX_NOERR 2
#define EX_DUREE 4
#define EX_SILENT EX_NOOUT|EX_NOERR #define EX_SILENT EX_NOOUT|EX_NOERR


int comsh(char *com,int mode) int comsh(char *com,int mode)
{ {
pid_t pid; pid_t pid;
int ret;
int ret,i=0;
char *c="|/-\\";
if (mode & EX_DUREE) { printf(" ...\r"); fflush(stdout); }
if ((pid = fork()) < 0) { if ((pid = fork()) < 0) {
perror("fork2"); return 99; perror("fork2"); return 99;
} }
@@ -489,7 +492,14 @@ int ret;
execl("/bin/sh", "sh", "-c", com, (char *) 0); execl("/bin/sh", "sh", "-c", com, (char *) 0);
perror("execl2"); return 98; perror("execl2"); return 98;
} }
waitpid(pid,&ret,0);
if (mode & EX_DUREE) {
while (waitpid(pid,&ret,WNOHANG) != pid) {
sleep(1);
printf("%c\r",c[i++]);
fflush(stdout);
if (i==4) i=0;
}
} else waitpid(pid,&ret,0);
return WEXITSTATUS(ret); return WEXITSTATUS(ret);
} }


@@ -670,11 +680,6 @@ int n;
} }
} }


void pr_encours(void)
{
printf(" ...\r"); fflush(stdout);
}
#define SUNIC "|sort|uniq" #define SUNIC "|sort|uniq"
#define JCTLSYS "journalctl --system" #define JCTLSYS "journalctl --system"
#define JCTLSYSG JCTLSYS"|grep " #define JCTLSYSG JCTLSYS"|grep "
@@ -845,14 +850,12 @@ pid_t pid;
case 'r' : case 'r' :
if (*(cmd+1) != '\0') printf("ignore %s\n",cmd+1); if (*(cmd+1) != '\0') printf("ignore %s\n",cmd+1);
sprintf(com,"%s -L %s|grep %s%s%s",IPT,OUTP,DREJ,AWK5,SUNIC); sprintf(com,"%s -L %s|grep %s%s%s",IPT,OUTP,DREJ,AWK5,SUNIC);
pr_encours();
comsh(com,EX_NOERR);
comsh(com,EX_NOERR|EX_DUREE);
break; break;
case 'R' : case 'R' :
if (*(cmd+1) != '\0') printf("ignore %s\n",cmd+1); if (*(cmd+1) != '\0') printf("ignore %s\n",cmd+1);
sprintf(com,"%s -L|grep %s%s%s",IP6T,DREJ,AWK4,SUNIC); sprintf(com,"%s -L|grep %s%s%s",IP6T,DREJ,AWK4,SUNIC);
pr_encours();
comsh(com,EX_NOERR);
comsh(com,EX_NOERR|EX_DUREE);
break; break;
case 'N' : case 'N' :
if (*(cmd+1) != '\0') printf("ignore %s\n",cmd+1); if (*(cmd+1) != '\0') printf("ignore %s\n",cmd+1);
@@ -871,8 +874,7 @@ pid_t pid;
case 'v' : case 'v' :
if (*(cmd+1) != '\0') printf("ignore %s\n",cmd+1); if (*(cmd+1) != '\0') printf("ignore %s\n",cmd+1);
sprintf(com,"%s -L %s|grep %s%s%s",IPT,MYCH,DACC,AWK5,SUNIC); sprintf(com,"%s -L %s|grep %s%s%s",IPT,MYCH,DACC,AWK5,SUNIC);
pr_encours();
comsh(com,EX_NOERR);
comsh(com,EX_NOERR|EX_DUREE);
break; break;
case ' ' : case ' ' :
if (*(cmd+1) != '\0') comsh(cmd+1,0); if (*(cmd+1) != '\0') comsh(cmd+1,0);


Loading…
Cancel
Save