PUBLIC char **sql_getnewrmtip(SQLPTR *sqlptr)
{
-static char *cmd="select remoteip from "RMTTBL" where lastscan<='2020-01-01' order by lastupdate asc";
+#define OPEP "gessql.c:sql_getnewrmtip,"
+#define DATLIM "2020-01-01"
+
+static char *cmd="select remoteip from "RMTTBL" where lastscan<='"DATLIM"' order by lastupdate asc limit 10";
char **rmtip;
+SQLRES *rs;
int num;
+int phase;
+_Bool proceed;
rmtip=(char **)0;
-num=sql_request(sqlptr,cmd);
-(void) rou_alert(0,"JMPDG NUM='%d'",num);
+rs=(SQLRES *)0;
+num=0;
+phase=0;
+proceed=true;
+while (proceed==true) {
+ switch (phase) {
+ case 0 : //do we have some remote IP
+ if ((rs=sql_gettupple(sqlptr,cmd))==(SQLRES *)0) {
+ (void) rou_alert(0,"%s unable to get remoteip list (Databse BUG?)",OPEP);
+ phase=999; //No need to go further
+ }
+ break;
+ case 1 : //how many entry do we have
+ if ((num=sql_getnbrtupple(sqlptr,rs))<=0) {
+ phase++; //no need to extract list
+ }
+ break;
+ case 2 : //extracting list
+ (void) rou_alert(0,"JMPDG NUM='%d'",num);
+ break;
+ case 3 : //clearing result
+ rs=sql_droptupple(sqlptr,rs);
+ break;
+ default : //SAFE Guard
+ proceed=false;
+ break;
+ }
+ phase++;
+ }
return rmtip;
+
+#undef DATLIM
+#undef OPEP
}