• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ checkerr函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中checkerr函数的典型用法代码示例。如果您正苦于以下问题:C++ checkerr函数的具体用法?C++ checkerr怎么用?C++ checkerr使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了checkerr函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: FC_FUNC_

int FC_FUNC_(oraclesim_getanahead, ORACLESIM_GETANAHEAD)
     (OracleDbConnection **fdbconnid, int *net) {
  OracleDbConnection *dbconnid = *fdbconnid;

  int ostatid;
  float oqs, oqp;
  double olon, olat;
  char oname[NAMELEN], onet[NAMELEN];
  
  /* Preparo l'estrazione anagrafica */
  checkerr(dbconnid, OCIStmtPrepare(dbconnid->stmthp, dbconnid->errhp,
				    (text *) anaquery,
				    (ub4) strlen(anaquery),
				    (ub4) OCI_NTV_SYNTAX, (ub4) OCI_DEFAULT));


  checkerr(dbconnid, OCIBindByName(dbconnid->stmthp, &dbconnid->bnd1p,
				   dbconnid->errhp, (text *) ":net",
				   -1, (dvoid *) net,
				   (sword) sizeof(*net), SQLT_INT, (dvoid *) NULL,
				   (ub2 *) 0, (ub2 *) 0, (ub4) 0, (ub4 *) 0,
				   OCI_DEFAULT));

  /* definisco l'uscita */
  anadefine(dbconnid, &ostatid, &olon, &olat, &oqs, &oqp, oname, onet, NAMELEN);
  return countrows(dbconnid);
}
开发者ID:ARPA-SIMC,项目名称:libsim,代码行数:27,代码来源:oraclesim.c


示例2: puts

char
*checksys(char *isvuln)
{
        struct utsname name;

        if(uname(&name) < 0) {
                puts("uname failed");
        }

        isvuln = malloc(6);
        if(!isvuln) {
                perror("malloc");
                _exit(EXIT_FAILURE);
        }

        if((name.sysname == NULL) || (strlen(name.sysname) < 1) || (strlen(name.sysname) > 5)) {
                checkerr(isvuln);
        }

        memcpy(isvuln, name.sysname, strlen(name.sysname));
        if(!isvuln) {
                checkerr(isvuln);
        }

        return(isvuln);
}
开发者ID:0x24bin,项目名称:exploit-database,代码行数:26,代码来源:1092.c


示例3: db_getn

static int db_getn(int type, int keytype)
{
    int        n = 0;
    char       table[20];
    char      *sql =  "select count(*) as n from %s where type=%d";
    OraText    row[4000];
    OCIDefine *dnp = NULL;

    strcpy(table, (type == TYPE_KILL)? "kill_key" : "monitor_key");
    sprintf((char*)row, sql,table, keytype);
    checkerr(OCIHandleAlloc((dvoid *)myenvhp, (dvoid **)&mystmthp,
                            OCI_HTYPE_STMT, (size_t)0, (dvoid **)0), myerrhp);
    checkerr(OCIStmtPrepare(mystmthp, myerrhp, row, (ub4)strlen((char*)row),
                            (ub4)OCI_NTV_SYNTAX, (ub4)OCI_DEFAULT), myerrhp);
    checkerr(OCIStmtExecute(mysvchp, mystmthp, myerrhp, (ub4)0, (ub4)0,
                            (CONST OCISnapshot *)0, (OCISnapshot *)0,
                            OCI_DEFAULT), myerrhp);
    if ((status = OCIDefineByPos(mystmthp, &dnp, myerrhp, 1, &n, sizeof(n),
                                 SQLT_INT, (dvoid *)0, 0, (ub2 *)0,
                                 OCI_DEFAULT))) {
        checkerr(status, myerrhp);
        return -1;
    }
    if(OCIStmtFetch2(mystmthp, myerrhp, 1, OCI_FETCH_NEXT, 0,
                     OCI_DEFAULT) != OCI_NO_DATA) {
        return n;
    }
    return 0;
}
开发者ID:hongwozai,项目名称:emms,代码行数:29,代码来源:db.c


示例4: main

int main(int argc, char ** argv) {
  // TOOD use getprotoent?
  int s = socket(PF_INET, SOCK_DGRAM, 0);

  checkerr(s, "Opening socket");

  struct sockaddr_in gateaddr;
  bzero((char *)&gateaddr, sizeof(gateaddr));
  gateaddr.sin_family = AF_INET;
  // COMMAND LINE CFG
  gateaddr.sin_port = htons(30012);
  // COMMAND LINE CFG
  gateaddr.sin_addr.s_addr = inet_addr("127.0.0.1");

  int r = connect(s, (struct sockaddr *)&gateaddr, sizeof(gateaddr));
  struct timeval tv;
  tv.tv_sec = 3;

  //setsockopt(s, SOL_SOCKET, SO_RCVTIMEO, (struct timeval * )&tv, sizeof(tv));

  checkerr(r, "Connecting");

  const char * msg = "OPEN!";
  r = send(s, msg, strlen(msg), 0);

  checkerr(r, "Writing");

  char buf[2048];
  // can get EAGAIN, connection refused here.
  ssize_t r2 = recv(s, buf, 2048, 0);
  checkerr(r2, "Reading");
  
  printf("Read: %d\n", r2);
}
开发者ID:ryanobjc,项目名称:noisegatepad,代码行数:34,代码来源:network.c


示例5: countrows

int countrows(OracleDbConnection *dbconnid) {
  int nr;
  sword status;
  
  /* Lancio l'estrazione */
  if ((status = OCIStmtExecute(dbconnid->svchp, dbconnid->stmthp, dbconnid->errhp,
			       (ub4) 0, (ub4) 0,
			       (CONST OCISnapshot *) NULL, (OCISnapshot *) NULL,
 			       OCI_STMT_SCROLLABLE_READONLY)) != OCI_SUCCESS) {
    if (status != OCI_NO_DATA) {
      checkerr(dbconnid, status);
      return -1;
    }
  }
  /* Vado all'ultima riga e chiedo dove sono */
  if ((status=OCIStmtFetch2(dbconnid->stmthp, dbconnid->errhp, (ub4) 1,
			    (ub2) OCI_FETCH_LAST, (sb4) 0,
			    (ub4) OCI_DEFAULT)) != OCI_SUCCESS) {
    if (status != OCI_NO_DATA) {
      checkerr(dbconnid, status);
      return -1;
    }
  }
  if (checkerr(dbconnid, OCIAttrGet(dbconnid->stmthp, OCI_HTYPE_STMT, &nr, 0, 
				    OCI_ATTR_CURRENT_POSITION, dbconnid->errhp))
      != OCI_SUCCESS) return -1;
  return nr;
}
开发者ID:ARPA-SIMC,项目名称:libsim,代码行数:28,代码来源:oraclesim.c


示例6: multirow_fetch_from_emp

/* This select empno, ename from myemp table or empview view 
   - can take different SQL texts 
*/
void multirow_fetch_from_emp(OCISvcCtx *svchp, OCIStmt * stmthp, OCIError *errhp, 
			     thdata *pthdata)
{
#define ARRAY_SIZE 3
  OCIDefine *defhp1, *defhp2;       
  ub4 empid[ARRAY_SIZE];
  sb2 empid_ind[ARRAY_SIZE];
  char lname[ARRAY_SIZE][30];
  sb2  lname_ind[ARRAY_SIZE];
  ub2  lname_len[ARRAY_SIZE];
  boolean done=FALSE;
  ub4 rows = 0;
  ub4 i =0;
  sb4 status;

  /* Define output buffers */
  checkerr(errhp, OCIDefineByPos (stmthp, &defhp1, errhp, 1,
                                  (void *) empid, (sb4) sizeof(empid[0]),
                                  SQLT_INT, (void *) empid_ind,
                                  (ub2 *) NULL, (ub2 *) NULL, OCI_DEFAULT));

  checkerr(errhp, OCIDefineByPos (stmthp, &defhp2, errhp, 2,
                                  (void *) lname[0], (sb4) sizeof(lname[0]),
                                  SQLT_STR, (void *) lname_ind,
                                  (ub2 *) lname_len, (ub2 *) NULL,
                                  OCI_DEFAULT));

  /* Fetch ARRAY_SIZE rows at a time */
  while (!done)
  {
    status = OCIStmtFetch(stmthp, errhp, ARRAY_SIZE,
                          OCI_FETCH_NEXT, OCI_DEFAULT);

    if ((status == OCI_SUCCESS) || (status == OCI_NO_DATA))
    {
      if (status == OCI_SUCCESS)
        rows = ARRAY_SIZE;               /* all rows asked for were obtained */
      else if (status == OCI_NO_DATA)
      {
        /* might have gotten fewer rows */
        checkerr(errhp, OCIAttrGet(stmthp, OCI_HTYPE_STMT,
                             &rows, (ub4 *) NULL,
                             OCI_ATTR_ROWS_FETCHED, errhp));
        done = TRUE;
      }

      for (i=0; i < rows; i++)
      {
        if (verbose_flag)
          printf ("empno=%d, ename=%s\n", empid[i], lname[i]);
      }
    }
    else
    {
      checkerr (errhp, status);
      done =TRUE;
    }
  }
}
开发者ID:Laukien,项目名称:test,代码行数:62,代码来源:stage4.c


示例7: main

int main(int argc, char *argv[])
{
  OCIError *errhp = NULL;

  printf("stage4: Demonstrating OCI statement caching \n");

  /* parse command line options */
  parse_options(argc, argv);
  
  checkenv(envhp, OCIEnvCreate(&envhp,                /* returned env handle */
                               OCI_THREADED,         /* initialization modes */
                               NULL, NULL, NULL, NULL, /* callbacks, context */
                               (size_t) 0,    /* extra memory size: optional */
                               (void **) NULL));    /* returned extra memory */

  /* allocate error handle
   * note: for OCIHandleAlloc(), we always check error on environment handle
   */
  checkenv(envhp, OCIHandleAlloc(envhp,                /* environment handle */
                                 (void **) &errhp,    /* returned err handle */
                                 OCI_HTYPE_ERROR,/*type of handle to allocate*/
                                 (size_t) 0,  /* extra memory size: optional */
                                 (void **) NULL));  /* returned extra memory */

  create_session_pool(envhp, errhp, &poolName, &poolNameLen);

  /* allocate auth handle
   * note: for OCIHandleAlloc(), we check error on environment handle
   */
  checkenv(envhp, OCIHandleAlloc(envhp,
                          (void **) &authp, OCI_HTYPE_AUTHINFO,
                          (size_t) 0, (void **) NULL));

  /* setup username and password */
  checkerr(errhp, OCIAttrSet(authp, OCI_HTYPE_AUTHINFO,
                             (void *) username, strlen((char *)username),
                             OCI_ATTR_USERNAME, errhp));

  checkerr(errhp, OCIAttrSet(authp, OCI_HTYPE_AUTHINFO,
                            apppassword, strlen((char *) apppassword),
                            OCI_ATTR_PASSWORD, errhp));

  spawn_threads(envhp, errhp, &thread_function);
  
  /* Destroy the session pool */
  OCISessionPoolDestroy(spoolhp, errhp, OCI_DEFAULT);

  /* clean up */
  if (authp)
    OCIHandleFree(authp, OCI_HTYPE_AUTHINFO);
  if (spoolhp)
    OCIHandleFree(spoolhp, OCI_HTYPE_SPOOL); 
  if (errhp)
    OCIHandleFree(errhp, OCI_HTYPE_ERROR);
  if (envhp)
    OCIHandleFree(envhp, OCI_HTYPE_ENV);
  
  return 0;
}
开发者ID:Laukien,项目名称:test,代码行数:59,代码来源:stage4.c


示例8: BfileLobClose_proc

void BfileLobClose_proc(OCILobLocator *Bfile_loc, OCIEnv *envhp,
                        OCIError *errhp, OCISvcCtx *svchp, OCIStmt *stmthp)
{ 
   printf ("----------- OCILobOpen Demo --------------\n");
   checkerr(errhp, OCILobOpen(svchp, errhp, Bfile_loc,
                    (ub1) OCI_LOB_READONLY));

   checkerr(errhp, OCILobClose(svchp, errhp, Bfile_loc));
}
开发者ID:RicardoVivas,项目名称:oracle-scripts,代码行数:9,代码来源:fclose_c.c


示例9: init

ocisession::ocisession(const char * connect_str, const int connect_str_len,
					   const char * user_name, const int user_name_len,
					   const char * password, const int password_len)
{
	intf_ret r;
	OCIAuthInfo *authp = NULL;

	init();

	r.handle = envhp;

	// allocate error handle
	checkenv(&r, OCIHandleAlloc((OCIEnv*)envhp,	/* environment handle */
                            (void **) &_errhp,	/* returned err handle */
                            OCI_HTYPE_ERROR,	/* typ of handle to allocate */
                            (size_t) 0,			/* optional extra memory size */
                            (void **) NULL));	/* returned extra memeory */

	if(r.fn_ret != SUCCESS) {
   		REMOTE_LOG("failed OCISessionGet %s\n", r.gerrbuf);
        throw r;
	}

	// allocate auth handle
	checkenv(&r, OCIHandleAlloc((OCIEnv*)envhp,
							(void**)&authp, OCI_HTYPE_AUTHINFO,
							(size_t)0, (void **) NULL));

	r.handle = _errhp;

	// usrname and password
	checkerr(&r, OCIAttrSet(authp, OCI_HTYPE_AUTHINFO,
								(void*) user_name, user_name_len,
								OCI_ATTR_USERNAME, (OCIError *)_errhp));
	checkerr(&r, OCIAttrSet(authp, OCI_HTYPE_AUTHINFO,
								(void*) password, password_len,
								OCI_ATTR_PASSWORD, (OCIError *)_errhp));


    /* get the database connection */
    checkerr(&r, OCISessionGet((OCIEnv*)envhp, (OCIError *)_errhp,
                               (OCISvcCtx**)&_svchp,					/* returned database connection */
                               authp,									/* initialized authentication handle */                               
                               (OraText *) connect_str, connect_str_len,/* connect string */
                               NULL, 0, NULL, NULL, NULL,				/* session tagging parameters: optional */
                               OCI_SESSGET_STMTCACHE));					/* modes */
	if(r.fn_ret != SUCCESS) {
		REMOTE_LOG("failed OCISessionGet %s\n", r.gerrbuf);
        throw r;
	}

	(void) OCIHandleFree(authp, OCI_HTYPE_AUTHINFO);

	REMOTE_LOG("got session %p\n", _svchp);

	_sessions.push_back(this);
}
开发者ID:Zabrane,项目名称:erloci,代码行数:57,代码来源:ocisession.cpp


示例10: gettab

int gettab(OracleDbConnection *dbconnid, int *var, int nvar, int *net) {
  sword status;

  checkerr(dbconnid,
	   OCIStmtPrepare(dbconnid->stmthp, dbconnid->errhp,
			  (text *) tabquery,
			  (ub4) strlen(tabquery),
			  (ub4) OCI_NTV_SYNTAX, (ub4) OCI_DEFAULT));

  /*  checkerr(dbconnid,
	   OCIBindByName(dbconnid->stmthp, &dbconnid->bnd1p,
			 dbconnid->errhp, (text *) ":var",
			 -1, (dvoid *) var,
			 (sword) sizeof(*var), SQLT_INT, (dvoid *) NULL,
			 (ub2 *) 0, (ub2 *) 0, (ub4) 0, (ub4 *) 0,
			 OCI_DEFAULT)); */

  checkerr(dbconnid,
	   OCIBindByName(dbconnid->stmthp, &dbconnid->bnd1p,
			 dbconnid->errhp, (text *) ":net",
			 -1, (dvoid *) net,
			 (sword) sizeof(*net), SQLT_INT, (dvoid *) NULL,
			 (ub2 *) 0, (ub2 *) 0, (ub4) 0, (ub4 *) 0,
			 OCI_DEFAULT));

  checkerr(dbconnid,
	   OCIDefineByPos(dbconnid->stmthp, &dbconnid->defn1p,
			  dbconnid->errhp, 1,
			  (dvoid *) dbconnid->table, TABLEN, SQLT_STR,
			  (dvoid *) NULL,
			  (ub2 *) 0, (ub2 *) 0, OCI_DEFAULT));


  /* Lancio l'estrazione */
  if ((status = OCIStmtExecute(dbconnid->svchp, dbconnid->stmthp, dbconnid->errhp,
			       (ub4) 0, (ub4) 0,
			       (CONST OCISnapshot *) NULL, (OCISnapshot *) NULL,
 			       OCI_STMT_SCROLLABLE_READONLY)) != OCI_SUCCESS) {
    if (status != OCI_NO_DATA) {
      checkerr(dbconnid, status);
      return -1;
    }
  }
  /* Prendo la prima riga di dati */
  if ((status = OCIStmtFetch2(dbconnid->stmthp, dbconnid->errhp, (ub4) 1,
			      (ub2) OCI_FETCH_NEXT, (sb4) 0,
			      (ub4) OCI_DEFAULT)) != OCI_SUCCESS) {
    if (status == OCI_NO_DATA) {
      return -1;
    } else {
      checkerr(dbconnid, status);
      return -1;
    }
  }
  return 0;
}
开发者ID:ARPA-SIMC,项目名称:libsim,代码行数:56,代码来源:oraclesim.c


示例11: locatorIsEqual_proc

void locatorIsEqual_proc(OCILobLocator *Lob_loc1, OCILobLocator *Lob_loc2,
                         OCIEnv *envhp, OCIError *errhp, OCISvcCtx *svchp, 
                         OCIStmt *stmthp)
{
  boolean       isEqual;
  OCILobLocator *Lob_loc3;
  
  printf ("----------- OCILobIsEqual Demo --------------\n");


  /* Call OCI to see if the two locators are Equal: */
  printf (" check if Lob1 and Lob2 are Equal.\n");
  checkerr (errhp, OCILobIsEqual(envhp, Lob_loc1, Lob_loc2, &isEqual));

  if (isEqual)
  {
    /* ... The LOB locators are Equal: */
    printf(" Lob Locators are equal.\n");
  }
  else
  {
    /* ... The LOB locators are not Equal: */
    printf(" Lob Locators are NOT Equal.\n");
  }

  (void)OCIDescriptorAlloc((void *) envhp, (void **) &Lob_loc3,
                             (ub4)OCI_DTYPE_LOB, (size_t) 0, (void **) 0);

  /* Assign Lob_loc1 to Lob_loc2 thereby saving a copy of the value of the LOB
     at this point in time: */
  printf(" assign the src locator to dest locator\n");
  checkerr (errhp, OCILobLocatorAssign(svchp, errhp, Lob_loc1, &Lob_loc3)); 

  /* When you write some data to the LOB through Lob_loc1, Lob_loc2 will not
     see the newly written data whereas Lob_loc1 will see the new data: */

  /* Call OCI to see if the two locators are Equal: */
  printf (" check if Lob1 and Lob3 are Equal.\n");
  checkerr (errhp, OCILobIsEqual(envhp, Lob_loc1, Lob_loc3, &isEqual));

  if (isEqual)
  {
    /* ... The LOB locators are Equal: */
    printf(" Lob Locators are equal.\n");
  }
  else
  {
    /* ... The LOB locators are not Equal: */
    printf(" Lob Locators are NOT Equal.\n");
  }

  OCIDescriptorFree((void *)Lob_loc3, (ub4)OCI_DTYPE_LOB); 
  
  return;
}
开发者ID:RicardoVivas,项目名称:oracle-scripts,代码行数:55,代码来源:lequal.c


示例12: OCIInitialize

// Begins an Oracle session.
void OraSession::startSession(const std::string& sConnectAsUser, const std::string& sConnectAsUserPwd,
		const std::string& sConnectDBLink) 
{
	dvoid* tmp;
	sword status;

	status = OCIInitialize((ub4) OCI_THREADED | OCI_OBJECT, 0, 0, 0, 0);

	status = OCIHandleAlloc((dvoid *)NULL, (dvoid **)&ociHandles.envhp, (ub4)OCI_HTYPE_ENV, 52, (dvoid **)&tmp);

	status = OCIEnvInit(&ociHandles.envhp, (ub4)OCI_DEFAULT, 21, (dvoid **)&tmp);

	status = OCIHandleAlloc((dvoid *)ociHandles.envhp, (dvoid **)&ociHandles.errhp, (ub4)OCI_HTYPE_ERROR, 52, (dvoid **)&tmp);

	status = OCIHandleAlloc((dvoid *)ociHandles.envhp, (dvoid **)&ociHandles.srvhp, (ub4)OCI_HTYPE_SERVER, 52, (dvoid **)&tmp);

	if(checkerr(&ociHandles, OCIServerAttach(ociHandles.srvhp, ociHandles.errhp, (text *)sConnectDBLink.c_str(),
		(sb4)sConnectDBLink.length(), (ub4)OCI_DEFAULT)) != 0) {
		std::cout << "OCIServerAttach failed." << std::endl << std::endl;
		return;
	}

	status = OCIHandleAlloc((dvoid *)ociHandles.envhp, (dvoid **)&ociHandles.svchp, 
		(ub4)OCI_HTYPE_SVCCTX, 52, (dvoid **)&tmp);

	/* set attribute server context in the service context */
	status = OCIAttrSet((dvoid *) ociHandles.svchp, (ub4)OCI_HTYPE_SVCCTX, (dvoid *)ociHandles.srvhp, (ub4)0,
		(ub4)OCI_ATTR_SERVER, (OCIError *)ociHandles.errhp);

	/* allocate a user context handle */
	status = OCIHandleAlloc((dvoid *)ociHandles.envhp, (dvoid **)&ociHandles.usrhp, (ub4)OCI_HTYPE_SESSION, (size_t)0,
		(dvoid **)0);

	status = OCIAttrSet((dvoid *)ociHandles.usrhp, (ub4)OCI_HTYPE_SESSION, (dvoid *)sConnectAsUser.c_str(),
		(ub4)sConnectAsUser.length(), OCI_ATTR_USERNAME, ociHandles.errhp);

	status = OCIAttrSet((dvoid *)ociHandles.usrhp, (ub4)OCI_HTYPE_SESSION, (dvoid *)sConnectAsUserPwd.c_str(),
		(ub4)sConnectAsUserPwd.length(), OCI_ATTR_PASSWORD, ociHandles.errhp);

	if(checkerr(&ociHandles, OCISessionBegin(ociHandles.svchp, ociHandles.errhp, ociHandles.usrhp, OCI_CRED_RDBMS, OCI_DEFAULT)) != 0) {
		std::cout << "OCISessionBegin failed." << std::endl << std::endl;
		return;
	}

	status = OCIAttrSet((dvoid *)ociHandles.svchp, (ub4)OCI_HTYPE_SVCCTX, (dvoid *)ociHandles.usrhp, (ub4)0, OCI_ATTR_SESSION,
		ociHandles.errhp);

	status = OCIHandleAlloc((dvoid *)ociHandles.envhp, (dvoid **)&ociHandles.stmthp, (ub4)OCI_HTYPE_STMT, 50, (dvoid **)&tmp);

	connectedUser = sConnectAsUser;
}
开发者ID:Kangmo,项目名称:infinidb,代码行数:52,代码来源:orasession.cpp


示例13: checkerr

void
net·runtime_pollWait(PollDesc* pd, intgo mode, intgo err)
{
#line 112 "/tmp/bindist907131767/go/src/pkg/runtime/netpoll.goc"

	runtime·lock(pd);
	err = checkerr(pd, mode);
	if(err)
		goto ret;
	netpollblock(pd, mode);
	err = checkerr(pd, mode);
ret:
	runtime·unlock(pd);
	FLUSH(&err);
}
开发者ID:aigamo,项目名称:isucon3egg,代码行数:15,代码来源:znetpoll_linux_amd64.c


示例14: time

int COracleDB::oracle_rollback( void )
{
	ORACLE_HANDLE* handle = ( ORACLE_HANDLE* ) _handle;

	int status = 0;

	int errcode = 0;

	time_t t1 = time( NULL );

	while ( ( status = OCITransRollback( handle->svchp, handle->errhp, 0 ) ) == OCI_STILL_EXECUTING ) {
		if ( time( NULL ) - t1 > 60 ) {
			// timeout
			errcode = DB_ERR_TIMEOUT;
			break;
		}
		my_usleep();
	}

	if ( errcode != DB_ERR_TIMEOUT && status ) {
		errcode = checkerr( handle->errhp, status, _errinfo );

		if ( errcode == 1012 || errcode == 12705 || errcode == 3113 || errcode == 3114 || errcode == 12541
				|| errcode == 12547 ) {
			errcode = DB_ERR_NOCONNECTION;
		} else {
			errcode = DB_ERR_FAILED;
		}
	}

	return errcode;
}
开发者ID:caocf,项目名称:workspace-kepler,代码行数:32,代码来源:oracledb.cpp


示例15: GetHandles

int GetHandles(OCIExtProcContext* extProcCtx, Handles_t* handles)
{
    /* store the ext-proc context in the handles struct */
    handles->extProcCtx=extProcCtx;

    /* Get OCI handles */
    if (checkerr(handles, OCIExtProcGetEnv(extProcCtx, &handles->envhp, &handles->svchp, &handles->errhp)))
        return -1;

    /* get the user handle */
    if (checkerr(handles, OCIAttrGet((dvoid*)handles->svchp, (ub4)OCI_HTYPE_SVCCTX, (dvoid*)&handles->usrhp, (ub4*)0,
                                     (ub4)OCI_ATTR_SESSION, handles->errhp)))
        return -1;

    return 0;
}
开发者ID:Kangmo,项目名称:infinidb,代码行数:16,代码来源:checkerr.cpp


示例16: puffs_vnop_advlock

static int
puffs_vnop_advlock(struct vop_advlock_args *ap)
{
    PUFFS_MSG_VARS(vn, advlock);
    struct vnode *vp = ap->a_vp;
    struct puffs_node *pn = VPTOPP(vp);
    struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount);
    int error;

    if (!EXISTSOP(pmp, ADVLOCK))
        return lf_advlock(ap, &pn->pn_lockf, vp->v_filesize);

    PUFFS_MSG_ALLOC(vn, advlock);
    (void)memcpy(&advlock_msg->pvnr_fl, ap->a_fl,
                 sizeof(advlock_msg->pvnr_fl));
    advlock_msg->pvnr_id = ap->a_id;
    advlock_msg->pvnr_op = ap->a_op;
    advlock_msg->pvnr_flags = ap->a_flags;
    puffs_msg_setinfo(park_advlock, PUFFSOP_VN,
                      PUFFS_VN_ADVLOCK, VPTOPNC(vp));
    PUFFS_MSG_ENQUEUEWAIT2(pmp, park_advlock, vp->v_data, NULL, error);
    error = checkerr(pmp, error, __func__);
    PUFFS_MSG_RELEASE(advlock);

    return error;
}
开发者ID:wan721,项目名称:DragonFlyBSD,代码行数:26,代码来源:puffs_vnops.c


示例17: puffs_vnop_open

static int
puffs_vnop_open(struct vop_open_args *ap)
{
    PUFFS_MSG_VARS(vn, open);
    struct vnode *vp = ap->a_vp;
    struct puffs_mount *pmp = MPTOPUFFSMP(vp->v_mount);
    int mode = ap->a_mode;
    int error;

    DPRINTF(("puffs_open: vp %p, mode 0x%x\n", vp, mode));

    if (vp->v_type == VREG && mode & FWRITE && !EXISTSOP(pmp, WRITE))
        ERROUT(EROFS);

    if (!EXISTSOP(pmp, OPEN))
        ERROUT(0);

    PUFFS_MSG_ALLOC(vn, open);
    open_msg->pvnr_mode = mode;
    puffs_credcvt(&open_msg->pvnr_cred, ap->a_cred);
    puffs_msg_setinfo(park_open, PUFFSOP_VN,
                      PUFFS_VN_OPEN, VPTOPNC(vp));

    PUFFS_MSG_ENQUEUEWAIT2(pmp, park_open, vp->v_data, NULL, error);
    error = checkerr(pmp, error, __func__);

out:
    DPRINTF(("puffs_open: returning %d\n", error));
    PUFFS_MSG_RELEASE(open);
    if (error)
        return error;
    return vop_stdopen(ap);
}
开发者ID:wan721,项目名称:DragonFlyBSD,代码行数:33,代码来源:puffs_vnops.c


示例18: netpollblock

static bool
netpollblock ( PollDesc *pd , int32 mode , bool waitio )
{
    G **gpp , *old;
#line 328 "/home/14/ren/source/golang/go/src/pkg/runtime/netpoll.goc"
    gpp = &pd->rg;
    if ( mode == 'w' )
        gpp = &pd->wg;
#line 333 "/home/14/ren/source/golang/go/src/pkg/runtime/netpoll.goc"
    for ( ;; ) {
        old = *gpp;
        if ( old == READY ) {
            *gpp = nil;
            return true;
        }
        if ( old != nil )
            runtime·throw ( "netpollblock: double wait" ) ;
        if ( runtime·casp ( gpp , nil , WAIT ) )
            break;
    }
#line 348 "/home/14/ren/source/golang/go/src/pkg/runtime/netpoll.goc"
    if ( waitio || checkerr ( pd , mode ) == 0 )
        runtime·park ( ( bool ( * ) ( G* , void* ) ) blockcommit , gpp , "IO wait" ) ;
#line 351 "/home/14/ren/source/golang/go/src/pkg/runtime/netpoll.goc"
    old = runtime·xchgp ( gpp , nil ) ;
    if ( old > WAIT )
        runtime·throw ( "netpollblock: corrupted state" ) ;
    return old == READY;
}
开发者ID:rosrad,项目名称:go-rep,代码行数:29,代码来源:znetpoll_windows_386.c


示例19: regexec

  bool Regex::matchp(const std::string& str_, std::string::size_type p, RegexSMatch& smatch, int eflags) const
  {
    if (expr.getPointer() == 0)
    {
      smatch.matchbuf[0].rm_so = 0;
      return true;
    }

    smatch.str = str_;
    int ret = regexec(expr.getPointer(), str_.c_str() + p,
        sizeof(smatch.matchbuf) / sizeof(regmatch_t), smatch.matchbuf, eflags);

    if (ret == REG_NOMATCH)
      return false;

    checkerr(ret);

    if (p > 0)
    {
      for (unsigned n = 0; n < 10 && smatch.matchbuf[n].rm_so >= 0; ++n)
      {
        smatch.matchbuf[n].rm_so += p;
        smatch.matchbuf[n].rm_eo += p;
      }
    }

    return true;
  }
开发者ID:AndreasWelchlin,项目名称:cxxtools,代码行数:28,代码来源:regex.cpp


示例20: netpollblock

static bool 
netpollblock ( PollDesc *pd , int32 mode , bool waitio ) 
{ 
G **gpp , *old; 
#line 328 "C:\Users\gopher\AppData\Local\Temp\1\makerelease745458658\go\src\pkg\runtime\netpoll.goc"
gpp = &pd->rg; 
if ( mode == 'w' ) 
gpp = &pd->wg; 
#line 333 "C:\Users\gopher\AppData\Local\Temp\1\makerelease745458658\go\src\pkg\runtime\netpoll.goc"
for ( ;; ) { 
old = *gpp; 
if ( old == READY ) { 
*gpp = nil; 
return true; 
} 
if ( old != nil ) 
runtime·throw ( "netpollblock: double wait" ) ; 
if ( runtime·casp ( gpp , nil , WAIT ) ) 
break; 
} 
#line 348 "C:\Users\gopher\AppData\Local\Temp\1\makerelease745458658\go\src\pkg\runtime\netpoll.goc"
if ( waitio || checkerr ( pd , mode ) == 0 ) 
runtime·park ( ( bool ( * ) ( G* , void* ) ) blockcommit , gpp , "IO wait" ) ; 
#line 351 "C:\Users\gopher\AppData\Local\Temp\1\makerelease745458658\go\src\pkg\runtime\netpoll.goc"
old = runtime·xchgp ( gpp , nil ) ; 
if ( old > WAIT ) 
runtime·throw ( "netpollblock: corrupted state" ) ; 
return old == READY; 
} 
开发者ID:Rasender,项目名称:Hello-ACS-560,代码行数:29,代码来源:znetpoll_windows_amd64.c



注:本文中的checkerr函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ checkf函数代码示例发布时间:2022-05-30
下一篇:
C++ checker函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap