Example #1
0
int	get_number(char *str, int nb, int i)
{
  if (str[++i] != 0)
    get_number(str, nb * 10 + (str[i] - 48), i);
  else
    return (nb);
}
Example #2
0
int decode_chunk(struct chunk *ch, unsigned char type, unsigned char *data, unsigned int len)
{
  switch(type) {
  case SystemId:		/* 16-bit integer */
  case WirelessMode:		/*  8-bit integer */
  case UpTime:		/* 32-bit integer */
    NUMBER(ch) = get_number(data, len);
    break;

  case FirmwareVersion:	/* readable string */
  case Product:
  case HostName:
  case Essid:
    BUFFER(ch) = strndup((char *)data, len);
    break;
    
  case HwAddr:
    BUFFER(ch) = malloc(len);
    memcpy(BUFFER(ch), data, len);
    break;

  case Address:
    BUFFER(ch) = malloc(sizeof(struct address));
    memcpy(HWADDR(ch), data, 6);
    memcpy(IPV4ADDR(ch), data+6, 4);
    break;

  default:
    break;
  }

  return 0;
}
Example #3
0
int redis_list::rpush(const char* key, const char* values[],
	const size_t lens[], size_t argc)
{
	hash_slot(key);
	build("RPUSH", key, values, lens, argc);
	return get_number();
}
Example #4
0
char const *
__kmp_i18n_catgets(
    kmp_i18n_id_t  id
) {

    int section = get_section( id );
    int number  = get_number( id );
    char const * message = NULL;

    if ( 1 <= section && section <= __kmp_i18n_default_table.size ) {
        if ( 1 <= number && number <= __kmp_i18n_default_table.sect[ section ].size ) {
            if ( status == KMP_I18N_CLOSED ) {
                __kmp_i18n_catopen();
            }; // if
            if ( status == KMP_I18N_OPENED ) {
                message =
                    catgets(
                        cat,
                        section, number,
                        __kmp_i18n_default_table.sect[ section ].str[ number ]
                    );
            }; // if
            if ( message == NULL ) {
                message = __kmp_i18n_default_table.sect[ section ].str[ number ];
            }; // if
        }; // if
    }; // if
    if ( message == NULL ) {
        message = no_message_available;
    }; // if
    return message;

} // func __kmp_i18n_catgets
void assert_equal(BINARY_TREE_TYPE tree, char* definition) {

	if (definition[0] == '\0') {
		CU_ASSERT_PTR_NULL(tree);
		return;
	}

	CU_ASSERT_PTR_NOT_NULL(tree);
	if (tree == NULL)
		return;

	assert_equal_visit_result = (int*) malloc(sizeof(int) * 100);
	for (assert_equal_visit_result_index = 0; assert_equal_visit_result_index
			< 100; assert_equal_visit_result_index++) {
		assert_equal_visit_result[assert_equal_visit_result_index] = -1;
	}

	assert_equal_visit_result_index = 0;
	BINARY_TREE_NODE **node = (BINARY_TREE_NODE**) malloc(
			sizeof(BINARY_TREE_NODE*));
	*node = tree;
	assert_equal_action(node, 1);
	free(node);

	int i = 0;
	assert_equal_visit_result_index = 0;
	while (definition[i] != '\0') {

		if (definition[i] == ',') {
			CU_ASSERT_EQUAL(assert_equal_visit_result[assert_equal_visit_result_index], -1);
			assert_equal_visit_result_index++;
		}

		if (definition[i] >= '0' && definition[i] <= '9') {
			int number_start = i, number_end = i + 1;
			while (definition[number_end] != ',' && definition[number_end]
					!= ' ' && definition[number_end] != '\0')
				number_end++;
			int value = get_number(definition, number_start, number_end - 1);

			//еп╣х
			CU_ASSERT_EQUAL(assert_equal_visit_result[assert_equal_visit_result_index], value);

			//next
			assert_equal_visit_result_index++;
			while (definition[number_end] != ',' && definition[number_end]
					!= '\0')
				number_end++;
			i = number_end;
		}
		if (definition[i] != '\0')
			i++;
	}
	while (assert_equal_visit_result_index < 100) {
		CU_ASSERT_EQUAL(assert_equal_visit_result[assert_equal_visit_result_index], -1);
		assert_equal_visit_result_index++;
	}

	free(assert_equal_visit_result);
}
Example #6
0
bool redis_string::getbit(const char* key, size_t len,
	unsigned offset, int& bit)
{
	const char* argv[3];
	size_t lens[3];

	argv[0] = "GETBIT";
	lens[0] = sizeof("GETBIT") - 1;

	argv[1] = key;
	lens[1] = len;

	char buf4off[INT_LEN];
	(void) safe_snprintf(buf4off, sizeof(buf4off), "%d", offset);
	argv[2] = buf4off;
	lens[2] = strlen(buf4off);

	hash_slot(key, len);
	build_request(3, argv, lens);
	int ret = get_number();
	if (ret < 0)
		return false;
	bit = ret == 0 ? 0 : 1;
	return true;
}
Example #7
0
int redis_string::bitop(const char* op, const char* destkey,
	const std::vector<const char*>& keys)
{
	size_t argc = 3 + keys.size();
	const char** argv = (const char**) pool_->dbuf_alloc(argc * sizeof(char*));
	size_t* lens = (size_t*) pool_->dbuf_alloc(argc * sizeof(size_t));

	argv[0] = "BITOP";
	lens[0] = sizeof("BITOP") - 1;

	argv[1] = op;
	lens[1] = strlen(op);

	argv[2] = destkey;
	lens[2] = strlen(destkey);

	std::vector<const char*>::const_iterator cit = keys.begin();
	for (size_t i = 3; cit != keys.end(); ++cit, i++)
	{
		argv[i] = *cit;
		lens[i] = strlen(argv[i]);
	}

	build_request(argc, argv, lens);
	return get_number();
}
Example #8
0
struct char_data *get_char_room_vis(struct char_data *ch, char *name, int *number)
{
  struct char_data *i;
  int num;

  if (!number) {
    number = &num;
    num = get_number(&name);
  }

  /* JE */
  if (!str_cmp(name, "self") || !str_cmp(name, "me"))
    return (ch);

  /* 0.<name> means PC with name */
  if (*number == 0)
    return (get_player_vis(ch, name, NULL, FIND_CHAR_ROOM));

  for (i = world[IN_ROOM(ch)].people; i && *number; i = i->next_in_room)
    if (isname(name, i->player.name))
      if (CAN_SEE(ch, i))
	if (--(*number) == 0)
	  return (i);

  return (NULL);
}
Example #9
0
struct char_data *get_char_world_vis(struct char_data *ch, char *name, int *number)
{
  struct char_data *i;
  int num;

  if (!number) {
    number = &num;
    num = get_number(&name);
  }

  if ((i = get_char_room_vis(ch, name, number)) != NULL)
    return (i);

  if (*number == 0)
    return get_player_vis(ch, name, NULL, 0);

  for (i = character_list; i && *number; i = i->next) {
    if (IN_ROOM(ch) == IN_ROOM(i))
      continue;
    if (!isname(name, i->player.name))
      continue;
    if (!CAN_SEE(ch, i))
      continue;
    if (--(*number) != 0)
      continue;

    return (i);
  }
  return (NULL);
}
Example #10
0
int redis_hash::hdel(const char* key, const char* names[],
	const size_t names_len[], size_t argc)
{
	hash_slot(key);
	build("HDEL", key, names, names_len, argc);
	return get_number();;
}
Example #11
0
/* Here follows high-level versions of some earlier routines, ie functions
 * which incorporate the actual player-data */
struct char_data *get_player_vis(struct char_data *ch, char *name, int *number, int inroom)
{
  struct char_data *i;
  int num;

  if (!number) {
    number = &num;
    num = get_number(&name);
  }

  for (i = character_list; i; i = i->next) {
    if (IS_NPC(i))
      continue;
    if (inroom == FIND_CHAR_ROOM && IN_ROOM(i) != IN_ROOM(ch))
      continue;
    if (str_cmp(i->player.name, name)) /* If not same, continue */
      continue;
    if (!CAN_SEE(ch, i))
      continue;
    if (--(*number) != 0)
      continue;
    return (i);
  }

  return (NULL);
}
Example #12
0
File: main.c Project: proxa/aprime
void primality_handler() {
  int retVal = 1;
  while (retVal == 1) {
    retVal = get_number(); 
  }
  exit(1);
}
Example #13
0
void normalize_clusters(int cs[], int n, void **clusters) {

    // convert the crazy cluster numbers to normal ones

    int index[n];   // index mapping crazy to normal numbers
    int upto = 0;   // what normal number we're up to
    int crazy;	    // a temporary variable that will hold
    // the crazy (old) number of the current
    // cluster.

    // initialize the index to map everything to garbage
    for(int i = 0; i < n; i++) {
        index[i] = INITIAL;
    }

    // standardize the cluster numbers as per the index
    for(int i = 0; i < n; i++) {
        // find the crazy number of this cluster
        crazy = get_number(find(clusters[i]));

        // if this is the first time we see this crazy number,
        // map it to the normal number we're up to, then
        // increment the normal number we're up to
        if(index[crazy] == INITIAL) {
            index[crazy] = upto;
            upto++;
        }
        // each point's cluster is the normal number that the
        // index maps its crazy number to
        cs[i] = index[crazy];
    }
}
Example #14
0
int try_connect_HELO(const char *hostname)
{
    char dbg_hostname[BIG_BUF];
    char dbg_version[BIG_BUF];
    char buf[BIG_BUF];
    char testme[BIG_BUF];

    /* Try the HELO protocal */
    if(my_socket != -1)
        sock_close(my_socket);

    if (sock_open(get_string("mailserver"), get_number("smtp-socket", 25), &my_socket))
        return 0;

    if (sock_readline(my_socket, buf, sizeof(buf)) == 0)
        return 0;

    if(!sscanf(buf,"220 %s %s", &dbg_hostname[0], &dbg_version[0]))
        return 0;
    log_printf(9, "Connected: %s (%s)\n", dbg_hostname, dbg_version);

    sock_printf(my_socket, "HELO %s\r\n", hostname);
    if(sock_readline(my_socket, buf, sizeof(buf)) == 0)
        return 0;
    if(!sscanf(buf, "250 %s", testme))
        return 0;
    return 1;
}
Example #15
0
/* search the entire world for an object, and return a pointer  */
struct obj_data *get_obj_vis(struct char_data * ch, char *name)
{
  struct obj_data *i;
  int j = 0, number;
  char tmpname[MAX_INPUT_LENGTH];
  char *tmp = tmpname;

  /* scan items carried */
  if ((i = get_obj_in_list_vis(ch, name, ch->carrying)))
    return i;

  /* scan room */
  if ((i = get_obj_in_list_vis(ch, name, world[ch->in_room].contents)))
    return i;

  strcpy(tmp, name);
  if (!(number = get_number(&tmp)))
  {
    number = 1;
    tmp = name;
  }

  /* ok.. no luck yet. scan the entire obj list   */
  for (i = object_list; i && (j <= number); i = i->next)
    if (isname(tmp, i->name))
      if (CAN_SEE_OBJ(ch, i))
	if (++j == number)
	  return i;

  return NULL;
}
Example #16
0
/* search the entire world for an object, and return a pointer  */
struct obj_data *get_obj_vis(struct char_data *ch, char *name, int *number)
{
  struct obj_data *i;
  int num;

  if (!number) {
    number = &num;
    num = get_number(&name);
  }

  if (*number == 0)
    return (NULL);

  /* scan items carried */
  if ((i = get_obj_in_list_vis(ch, name, number, ch->carrying)) != NULL)
    return (i);

  /* scan room */
  if ((i = get_obj_in_list_vis(ch, name, number, world[IN_ROOM(ch)].contents)) != NULL)
    return (i);

  /* ok.. no luck yet. scan the entire obj list   */
  for (i = object_list; i && *number; i = i->next)
    if (isname(name, i->name))
      if (CAN_SEE_OBJ(ch, i))
	if (--(*number) == 0)
	  return (i);

  return (NULL);
}
Example #17
0
struct obj_data *get_object_in_equip_vis(struct char_data * ch,
                           char *arg, struct obj_data * equipment[], int *j)
{

  int  number, tot = 0;
  char tmpname[MAX_INPUT_LENGTH];
  char *tmp = tmpname;

  strcpy(tmp, arg);
  if (!(number = get_number(&tmp)))
  {
    number = 1;
    tmp = arg;
  }

  for ((*j) = 0; (*j) < NUM_WEARS; (*j)++)
    if (equipment[(*j)])
      if (CAN_SEE_OBJ(ch, equipment[(*j)]) && !hidden_eq(ch, equipment[(*j)]))
        if (isname(tmp, equipment[(*j)]->name)) {
         tot ++;
          if (tot == number) {
          return (equipment[(*j)]);
           }
          }

  return NULL;
}
Example #18
0
int main (void)
{
	double coord_x1 = 0.0, coord_x2 = 0.0, coord_y1 = 0.0, coord_y2 = 0.0,
		slope = 0.0, midpoint_X = 0.0, midpoint_Y = 0.0, y_intercept = 0.0;
	coord_x1 = get_number('X', 1);
	coord_y1 = get_number('Y', 1);
	coord_x2 = get_number('X', 2);
	coord_y2 = get_number('Y', 2);
	slope = compute_slope(coord_x1, coord_y1, coord_x2, coord_y2);
	midpoint_X = compute_midpoint(coord_x1, coord_x2);
	midpoint_Y = compute_midpoint(coord_y1, coord_y2);
	slope = compute_bisector_slope(slope);
	y_intercept = compute_y_intercept(slope, midpoint_X, midpoint_Y);
	display_results(coord_x1, coord_y1, coord_x2, coord_y2, slope, y_intercept);
	return 0;
}
Example #19
0
int redis_string::bitcount(const char* key, size_t len, int start, int end)
{
	const char* argv[4];
	size_t lens[4];

	argv[0] = "BITCOUNT";
	lens[0] = sizeof("BITCOUNT") - 1;

	argv[1] = key;
	lens[1] = len;

	char buf4start[INT_LEN];
	(void) safe_snprintf(buf4start, sizeof(buf4start), "%d", start);
	argv[2] = buf4start;
	lens[2] = strlen(buf4start);

	char buf4end[INT_LEN];
	(void) safe_snprintf(buf4end, sizeof(buf4end), "%d", end);
	argv[3] = buf4end;
	lens[3] = strlen(buf4end);

	hash_slot(key, len);
	build_request(4, argv, lens);
	return get_number();
}
Example #20
0
dword Immed(byte mnemonic, byte *op)
{
	dword s=0;
	byte adr=A_IMM;
	mnemonic=scan_adr(adr,mnemonic);
	if(ERROR==0)
	{
		s=get_number(op);
		if((ERROR==0)&&(*(op+1)==NULL)&&(nybbles==1))
		{
			mnspoke(cpu.ppc2,(dword)mnemonic);
			mnspoke(cpu.ppc2+1,s);
			disa(1);
			return(0);
		}
		if((ERROR==0)&&(*(op+2)==NULL)&&(nybbles==2))
		{
			mnspoke(cpu.ppc2,(dword)mnemonic);
			mnspoke(cpu.ppc2+1,s);
			disa(1);
			return(0);
		}
	}
	badad();
	return(10);
}
Example #21
0
int redis_string::bitop(const char* op, const char* destkey,
	const char* keys[], size_t size)
{
	size_t argc = 3 + size;
	const char** argv = (const char**) pool_->dbuf_alloc(argc * sizeof(char*));
	size_t* lens = (size_t*) pool_->dbuf_alloc(argc * sizeof(size_t));

	argv[0] = "BITOP";
	lens[0] = sizeof("BITOP") - 1;

	argv[1] = op;
	lens[1] = strlen(op);

	argv[2] = destkey;
	lens[2] = strlen(destkey);

	for (size_t i = 3, j = 0; j < size; i++, j++)
	{
		argv[i] = keys[j];
		lens[i] = strlen(argv[i]);
	}

	build_request(argc, argv, lens);
	return get_number();
}
Example #22
0
/* get a character from anywhere in the world, doesn't care much about
   being in the same room... */
struct char_data *get_char_vis_world(struct char_data *ch, char *name,
				     int *count)
     
{
  struct char_data *i;
  int j, number;
  char tmpname[MAX_INPUT_LENGTH];
  char *tmp;
  
  strcpy(tmpname,name);
  tmp = tmpname;
  if(!(number = get_number(&tmp)))
    return(0);
  
  j = count ? *count : 1;
  for (i = character_list; i && (j <= number); i = i->next)
    if (isname(tmp, GET_NAME(i)))
      if (CAN_SEE(ch, i))	{
	if (j == number)
	  return(i);
	j++;
      }
  if (count) *count = j;
  return 0;
}
Example #23
0
void main()
{
	char answer[100];
	
	
	printf("Enter part to search for the name of the part\r\n\n");
	printf("Enter number to search for the number of the part\r\n\n");
	printf("enter change if you want to change the quantity of a current product\r\n\n");
	printf("Enter add part to add an item to the database\r\n\n");
	printf("If you want to read the whole database then please enter read\n\r\n");
	printf("If you want to exit, enter quit\r\n\n");
	gets(answer);
	
	if(answer[0]=='N'||answer[0]=='n'){get_number();}
	else if(answer[0]=='P'||answer[0]=='p'){get_part_name();}
	else if(answer[0]=='C'||answer[0]=='c'){change_quantity();}
	else if(answer[0]=='A'||answer[0]=='a'){add_part();}
	else if(answer[0]=='R'||answer[0]=='r'){read_out();}
	else if(answer[0]=='Q'||answer[0]=='q'){exit(0);}
	else
		{
			printf("Answer was none of the statements , thank you for using this\r\n");
		}
	

}
Example #24
0
struct obj_data *get_obj_vis_world(struct char_data *ch, char *name,
				   int *count)
{
  struct obj_data *i;
  int j, number;
  char tmpname[MAX_INPUT_LENGTH];
  char *tmp;
  
  strcpy(tmpname,name);
  tmp = tmpname;
  if(!(number = get_number(&tmp)))
    return(0);
  
  j = count ? *count : 1;
  
  /* ok.. no luck yet. scan the entire obj list   */
  for (i = object_list; i && (j <= number); i = i->next)
    if (isname(tmp, i->name))
      if (CAN_SEE_OBJ(ch, i)) {
	if (j == number)
	  return(i);
	j++;
      }
  if (count) *count = j;
  return(0);
}
Example #25
0
message *decode_message(unsigned char *data, unsigned int total_len)
{
  int pos = 0;
  unsigned int len;
  unsigned char type;
  struct chunk *head;
  struct chunk **cur;

  if (data[0] != 1 || data[1] != DiscoverMessage) {
    printf("oops, got id %d\n", data[1]);
    return(0);
  }

  pos = 4;
  head = malloc(sizeof(struct chunk));
  head->type = 0;
  head->u.down = 0;
  cur = &head->u.down;

  for (pos=4;pos<total_len;pos+=len) {
    type = data[pos];
    len = get_number(data + pos + 1, 2);
    pos += 3;

    (*cur) = malloc(sizeof(struct chunk));
    (*cur)->type = type;
    decode_chunk(*cur, type, data+pos, len);

    cur = &((*cur)->next);
  }

  *cur = 0;
  return head;
}
Example #26
0
struct obj_data *get_obj_vis_accessible(struct char_data *ch, char *name)
{
  struct obj_data *i;
  int j, number;
  char tmpname[MAX_INPUT_LENGTH];
  char *tmp;
  
  strcpy(tmpname,name);
  tmp = tmpname;
  if(!(number = get_number(&tmp)))
    return(0);
  
  /* scan items carried */
  for (i = ch->carrying, j=1; i && j<=number; i = i->next_content)
    if (isname(tmp, i->name) && CAN_SEE_OBJ(ch, i))
      if (j == number)
	return(i);
      else
	j++;
  for (i = real_roomp(ch->in_room)->contents; i && j<=number; i = i->next_content)
    if (isname(tmp, i->name) && CAN_SEE_OBJ(ch, i))
      if (j==number)
	return(i);
      else
	j++;
  return 0;
}
Example #27
0
File: csort.c Project: eposts/Rich
void get_number( int *a_number, int *times, char *tstring, int *x, int *y )
{
int power;         /* 十的指数,用10的power来乘以数字 */
char achar[2];
char bchar = 0;
achar[1] = 0;

while ( bchar <= 47 || bchar >= 59 )  /* 允许的数字0-9 */
  {
   bchar = getch();
   if ( bchar == 13 )   /* 13 = CR; 用户按了ENTER建  */
     {
      bchar = 48;
      *times = 0;
      break;
     }
  }

 if ( *times )
   {
    achar[0] = bchar;

    outtextxy( *x, *y, achar );
    *x = *x + textwidth( achar );
    tstring[TIMES - ( (*times)--)] = achar[0];
    if ( *times )
    get_number( a_number, times, tstring, x, y );
   }

    power = (int)( pow10(( strlen( tstring ) - ((*times) + 1))));
    bchar = tstring[*times];
    *a_number += ( power  * ( bchar - 48 ));
    (*times )++;
}
Example #28
0
struct char_data *get_char_vis(struct char_data * ch, char *name)
{
  struct char_data *i;
  int j = 0, number;
  char tmpname[MAX_INPUT_LENGTH];
  char *tmp = tmpname;

  /* check the room first */
  if ((i = get_char_vis(ch, name, FIND_CHAR_ROOM)) != NULL)
    return i;

  strcpy(tmp, name);
  if (!(number = get_number(&tmp)))
  {
    number = 1;
    tmp = name;
  }


  for (i = character_list; i && (j <= number); i = i->next)
    if (isname(tmp, i->player.name) && CAN_SEE(ch, i))
      if (++j == number)
	return i;

  return NULL;
}
Example #29
0
int main()
{
	int n = get_number();
	int y = add_4(n);
	printf("%i\n", y);
	print_four();
}
Example #30
0
Token* get_token(char *stringtotoken)
{
    char source_buffer[MAX_TOKEN_STRING_LENGTH];
    char ch = source_buffer[0]; //This can be the current character you are examining during scanning.
    int chint = (int)ch;
    char token_string[MAX_TOKEN_STRING_LENGTH]; //Store your token here as you build it.
    
    //if(sourceline[0]=='\n');
    //{get_source_line(source_buffer);}
    
    //struct stack * newptr=(struct stack*)malloc(sizeof(struct stack));
    struct Token * token1 = (struct Token*)malloc(sizeof(Token));
    //???;  //I am missing the most important variable in the function, what is it?  Hint: what should I return?
    
    //2.  figure out which case you are dealing with LETTER, DIGIT, QUOTE, EOF, or special, by examining ch
    if (isdigit(chint))
    {
        if (isalpha(chint))
        {
            token1 =get_word(source_buffer,token1);
        }
        else
        {
            if (chint == 39)
                token1 = get_string(source_buffer,token1);
        }
        token1 = get_number(source_buffer,token1);
    }
    else
        token1 = get_special(source_buffer,token1);
    
    //3.  Call the appropriate function to deal with the cases in 2.
    strcpy(sourceLine,source_buffer);
    return token1; //What should be returned here?
}