Пример #1
0
int vssGetVar2Buffer(vss arg,char *name,char *buf, int size) { // to do - url_decode_param?
int nl = strlen(name); vss A=arg;
memset(buf,0,size);
printf("A=<%*.*s>\n",VSS(A));
while (A.len>0) { // check it
  vss v = vssGetTillStr(&A,"&",1,1);
  vss n = vssGetTillStr(&v,"=",1,1);
  printf("Check Name=<%*.*s> V=<%*.*s> R=<%*.*s>\n",VSS(n),VSS(v),VSS(A));
  if (n.len == nl && memcmp(name,n.data,nl) == 0) { // found!
      size--; if (v.len>=size) v.len=size;
      memcpy(buf,v.data,v.len);
      url_decode8(buf,buf); // replace %20
      return 1;
     }
  }
printf("%s - not found\n",name);
return 0; // not found
}
Пример #2
0
void MatrixQRDecompColMajor(Matrix*mtR,Matrix*mt){
  // gram-schmidt orthonormalization (Lt and Q)
  double t, *aT[mt->W];
  int W = mt->W;
  int i,j;
  MatrixClear(mtR); 
  for (i = 0; i < W;i++) {
    aT[i] = Row(mt,i);
    for (j = 0; j < i; j++) {
      Elem(mtR,j,i) = t = VP(aT[j], aT[i], W);
      VSA(aT[i], aT[j], -t, W);
    }
    Elem(mtR,i,i) = t = sqrt(VP(aT[i],aT[i],W));
    VSS(aT[i], 1/t, W); 
  }




  /*

  Elem(mtR,0,0) = t = sqrt(VP(aT[0],aT[0],W));
  VSS(aT[0], 1/t, W);


  Elem(mtR,0,1) = t = VP(aT[0], aT[1], W);
  VSA(aT[1], aT[0], -t, W);

  Elem(mtR,1,1) = t = sqrt(VP(aT[1],aT[1],W));
  VSS(aT[1], 1/t, W);

///////////
  Elem(mtR,0,2) = t = VP(aT[0], aT[2], W);
  VSA(aT[2], aT[0], -t, W);

  Elem(mtR,1,2) = t = VP(aT[1], aT[2], W);
  VSA(aT[2], aT[1], -t, W);

  Elem(mtR,2,2) = t = sqrt(VP(aT[2],aT[2],W));
  VSS(aT[2], 1/t, W);

////// 以下略
*/
}
Пример #3
0
int onDbRequest(Socket *sock, vssHttp *req, SocketMap *map) { // Генерация статистики по серверу
char buf[1024];
httpSrv *srv = (void*)sock->pool;
strSetLength(&srv->buf,0); // ClearResulted
vss r=req->B;
strCat(&srv->buf,r.data,r.len); char *sql = srv->buf;
printf("DB->REQ:<%*.*s>\n",VSS(req->B));
if (strncmp(r.data,"select",6)==0) { // get a data
    if (db_select(db,sql)<=0) { // error here ...
        SocketPrintHttp(sock,req,"-%s",db->error);
        return 1;
       }
  strSetLength(&srv->buf,0);
  dbStrFetch(db,&srv->buf);
  SocketSendHttp(sock,req,srv->buf,-1);
  return 1;
  } else { //exec a result
    if (db_exec_once(db,sql)<=0) { // error here
       SocketPrintHttp(sock,req,"-%s",db->error);
       db_rollback(db);
        return 1;
    }
    db_commit(db); // anyqway
    SocketPrintHttp(sock,req,"+1 OK");
        return 1;
  }
/*
sprintf(buf,"{clients:%d,connects:%d,requests:%d,mem:%d,serverTime:'%s',pps:%d}",arrLength(srv->srv.sock)-1,
  srv->srv.connects,
  srv->srv.requests,
  os_mem_used(), szTimeNow,
  (srv->readLimit.pValue+srv->readLimit.ppValue)/2);
*/
SocketPrintHttp(sock,req,"%s","-not implemented yet"); // Flash Results as httpreturn 1; // OK - generated
return 1;
}