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); }
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; }
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(); }
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); }
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; }
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(); }
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 = 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); }
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 = 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); }
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();; }
/* 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 = 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); }
void primality_handler() { int retVal = 1; while (retVal == 1) { retVal = get_number(); } exit(1); }
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]; } }
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; }
/* 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; }
/* 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 = 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); }
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; }
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; }
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(); }
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); }
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(); }
/* 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; }
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"); } }
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); }
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; }
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; }
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 )++; }
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; }
int main() { int n = get_number(); int y = add_4(n); printf("%i\n", y); print_four(); }
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? }