master #77

Merged
asmeron merged 3 commits from YanTheKaller/libublsettings:master into master 2 months ago

@ -35,6 +35,14 @@ float yon_size_convert_automatic(int bytes, int *size){
return byte_float;
}
long yon_size_to_bytes(long size, int size_mod){
long final = size;
for (int i=0;i<size_mod;i++){
final=final*1024;
}
return final;
}
int yon_get_size_get_from_letter(char size){
switch (size){
case 'K': return 0;
@ -65,6 +73,38 @@ char *yon_size_get_mod(int size){
return size_modifier;
}
double yon_size_long_convert_to_mod(double size, char mod){
int sizemod = yon_get_size_get_from_letter(mod);
double final_size = size;
for (int i=-1;i<sizemod;i++){
final_size/=1024;
}
return final_size;
}
double yon_size_long_convert_automatic(unsigned long bytes, char *size){
int repeats;
double byte_float=bytes;
for (repeats=-1;byte_float>1024;repeats++){
byte_float=byte_float/1024;
}
if (repeats==-1) {
repeats=0;
byte_float=byte_float/1024;
}
switch(repeats){
case 0: (*size)='K';
break;
case 1: (*size)='M';
break;
case 2: (*size)='G';
break;
case 3: (*size)='T';
break;
}
return byte_float;
}
config_str yon_dir_get_contents(char *dir_path, int *size){
config_str dir = NULL;
*size=0;

@ -1054,15 +1054,18 @@ config_str yon_ubl_get_all_users(int *user_size);
int yon_password_get_min_len();
/** yon_size_convert_automatic(int bytes, int *size)
* [EN]
*
* [RU]
* Делит число [bytes] на 1024 пока оно не станет меньше 1024.
* Возвращает получившееся число и устанавливает [size] равным количеству делений.
*/
/// @brief Converts bytes amount to kilobytes, megabytes gigabytes or terabytes (K, M, G, T)
/// @param bytes bytes to convert
/// @param size pointer for conversion iteration number. use it with yon_size_get_mod() to get text string of conversion
/// @return converted to kilobytes, megabytes gigabytes or terabytes vaue
float yon_size_convert_automatic(int bytes, int *size);
/// @brief Convert size from kilobytes, megabytes gigabytes or terabytes (K, M, G, T) to bytes
/// @param size initial size to convert
/// @param size_mod size modifier. Use yon_get_size_get_from_letter() to get.
/// @return converted to bytes value
long yon_size_to_bytes(long size, int size_mod);
/**yon_get_size_get_from_letter(char size)
* [EN]
*
@ -1081,6 +1084,10 @@ int yon_get_size_get_from_letter(char size);
*/
char *yon_size_get_mod(int size);
double yon_size_long_convert_to_mod(double size, char mod);
double yon_size_long_convert_automatic(unsigned long bytes, char *size);
/**yon_file_path_proceed_spaces(char *path)
* [EN]
*

Loading…
Cancel
Save