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; 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){ int yon_get_size_get_from_letter(char size){
switch (size){ switch (size){
case 'K': return 0; case 'K': return 0;
@ -65,6 +73,38 @@ char *yon_size_get_mod(int size){
return size_modifier; 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 yon_dir_get_contents(char *dir_path, int *size){
config_str dir = NULL; config_str dir = NULL;
*size=0; *size=0;

@ -1054,15 +1054,18 @@ config_str yon_ubl_get_all_users(int *user_size);
int yon_password_get_min_len(); int yon_password_get_min_len();
/** yon_size_convert_automatic(int bytes, int *size) /// @brief Converts bytes amount to kilobytes, megabytes gigabytes or terabytes (K, M, G, T)
* [EN] /// @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
* [RU] /// @return converted to kilobytes, megabytes gigabytes or terabytes vaue
* Делит число [bytes] на 1024 пока оно не станет меньше 1024.
* Возвращает получившееся число и устанавливает [size] равным количеству делений.
*/
float yon_size_convert_automatic(int bytes, int *size); 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) /**yon_get_size_get_from_letter(char size)
* [EN] * [EN]
* *
@ -1081,6 +1084,10 @@ int yon_get_size_get_from_letter(char size);
*/ */
char *yon_size_get_mod(int 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) /**yon_file_path_proceed_spaces(char *path)
* [EN] * [EN]
* *

Loading…
Cancel
Save