void Lunem::WriteToFile(FILE* f) { unsigned char c; int i; c = (m_sSpecies.length() > 127) ? 127 : m_sSpecies.length(); fwrite(&c, 1, 1, f); fwrite(m_sSpecies.c_str(), c, 1, f); c = (mName.length() > 127) ? 127 : mName.length(); fwrite(&c, 1, 1, f); fwrite(mName.c_str(), c, 1, f); fwrite(&m_bLevel, sizeof(m_bLevel), 1, f); fwrite(&m_bGene, sizeof(m_bGene), 1, f); for (i = 0; i < MAX_COMBATANT_TYPES; ++i) { fwrite(&m_bType[i], sizeof(m_bType[i]), 1, f); } fwrite(&m_bBaseAttack, sizeof(m_bBaseAttack), 1, f); fwrite(&m_bBaseDefense, sizeof(m_bBaseDefense), 1, f); fwrite(&m_bBaseSpeed, sizeof(m_bBaseSpeed), 1, f); fwrite(&m_bBaseHealth, sizeof(m_bBaseHealth), 1, f); fwrite(&m_iExp, sizeof(m_iExp), 1, f); fwrite(&m_iCurrentHealth, sizeof(m_iCurrentHealth), 1, f); //write skills for (i = 0; i < MAX_COMBATANT_SKILLS; ++i) { c = (m_sSkills[i].id.length() > 127) ? 127 : m_sSkills[i].id.length(); fwrite(&c, 1, 1, f); fwrite(m_sSkills[i].id.c_str(), c, 1, f); } SaveFlags(f); }
CKBD::CKBD (void) : CTTY (fileno (stdin)) { SaveFlags (); SetRaw (); }
//===========================================================================// void WareParameters::AddWareParameter(int param_num, char * param) { //printf("void WareParameters::AddWareParameter(int param_num = %d , char * param = %s )\n", param_num, param); switch(param_num) { case 1 : //printf(" internal_id = %s \n", param); if(strcmp(param, "") && strcmp(param, "0")) { internal_code = (char *) calloc(strlen(param)*2 + 1, sizeof(char)); strcpy(internal_code, DbCodec->fromUnicode(CP1251Codec->toUnicode(param))); break; } internal_code = (char *) calloc(5, sizeof(char)); strcpy(internal_code, "null"); error_param = true; break; case 2 : // barcode if ( strcmp(param, "") && strcmp(param, "0") ) { bar_code = (char *) calloc(strlen(param) + 1, sizeof(char)); strcpy(bar_code, param); } else { bar_code = (char *) calloc (5,sizeof(char)); strcpy(bar_code, ""); } //SaveBarcode(param); break; case 3 : // longtitle if ( strcmp(param, "") && strcmp(param, "0") ) { longtitle = (char *) calloc((strlen(param) + 2+1)*2, sizeof(char)); //printf("longtitle = %s \n", param); QString longtitle_str = DbCodec->fromUnicode(CP1251Codec->toUnicode(param)); strcpy(longtitle, "'"); strcat(longtitle, longtitle_str); strcat(longtitle, "'"); } else { longtitle = (char* ) calloc(5, sizeof(char)); strcpy(longtitle, "null"); } // str_cp1251_to_koi8r(longtitle); break; case 4 : // shortcut if ( strcmp(param, "") && strcmp(param, "0") ) { shortcut = (char *) calloc((strlen(param) + 2 + 1)*2, sizeof(char)); QString shortcut_str = DbCodec->fromUnicode(CP1251Codec->toUnicode(param)); strcpy(shortcut, "'"); strcat(shortcut, shortcut_str); strcat(shortcut, "'"); // str_cp1251_to_koi8r(shortcut); } else { shortcut = (char* ) calloc(5, sizeof(char)); strcpy(shortcut, "null"); } break; case 5 : // price SaveDoubleValue(5, param); break; case 6 : // quantity //SaveDoubleValue(6, param); if ( strcmp(param, "") != 0 ) { quantity = (char *) calloc(strlen(param) + 1, sizeof(char)); strcpy(quantity, param); } else { quantity = (char *) calloc(2, sizeof(char)); strcpy(quantity, "0"); } break; case 7 : if ( strcmp(param, "") && strcmp(param, "0") ) { auto_scheme_id = (char *) calloc(strlen(param) + 1, sizeof(char)); strcpy(auto_scheme_id, param); } else { auto_scheme_id = (char *) calloc(5, sizeof(char)); strcpy(auto_scheme_id, "null"); } break; case 8 : // flags SaveFlags(param); break; case 9 : // min_price SaveDoubleValue(9, param); break; case 10 : // best_before SaveDateTimeValue(best_before, param); break; case 14 : //coefficient if ( strcmp(param, "") && strcmp(param, "0") ) { coefficient = (char *) calloc(strlen(param) + 1, sizeof(char)); strcpy(coefficient, param); } else { coefficient = (char *) calloc(2, sizeof(char)); strcpy(coefficient, "1"); } break; case 16 : //group id if ( strcmp(param, "") && strcmp(param, "0") ) { if (IsInteger(param)) { group_code = (char *) calloc(strlen(param) + 1, sizeof(char)); strcpy(group_code, param); break; } } group_code = (char *) calloc(5, sizeof(char)); strcpy(group_code, "null"); break; case 23 : if ( strcmp(param, "") && strcmp(param, "0") ) { if (IsInteger(param)) { tax_group_id = (char *) calloc(strlen(param) + 1, sizeof(char)); strcpy(tax_group_id, param); break; } } tax_group_id = (char *) calloc(5, sizeof(char)); strcpy(tax_group_id, "null"); break; } }