From a5f7c3e68289651fdf35b8d5dd8bc7468942f816 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Fri, 27 Dec 2024 16:51:23 +0600 Subject: [PATCH] Fixed lowest free UID/GID getting --- source/ubl-settings-usergroups.c | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 713c80c..d40984e 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -1319,18 +1319,15 @@ void on_GID_update(GtkWidget *, ubl_settings_usergroups_group_creation_window *w yon_char_parsed_prepend_strings(config_groups,config_size,":"); config_str final = yon_char_parsed_merge(main_config.groups,main_config.groups_size,config_groups,config_size,&final_size); long prev_busy=gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->SystemGroupCheck))?0:main_config.MINGID; + + int minimum = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->SystemGroupCheck))?0:main_config.MINGID; + int maximum = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->SystemGroupCheck))?68000:main_config.MAXGID; for (int i=0;i=main_config.MINGID||gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->SystemGroupCheck))){ - if (atol(parsed[2])>main_config.MAXGID||gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->SystemGroupCheck))) - break; - if (atol(parsed[2])==prev_busy+1) + if (minimumprev_busy){ prev_busy=atol(parsed[2]); - else { - yon_char_parsed_free(parsed, parsed_size); - break; } } yon_char_parsed_free(parsed, parsed_size); @@ -1915,17 +1912,18 @@ void on_UID_update(GtkWidget *, ubl_settings_usergroups_user_window *window){ int parsed_size; config_str parsed = yon_char_parse(final[i],&parsed_size,":"); - if (atol(parsed[2])>=main_config.MINUID||gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->userCreateSystemCheck))){ - if (atol(parsed[2])>main_config.MAXUID||gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->userCreateSystemCheck))) - break; - if (atol(parsed[2])==prev_busy+1) + int minimum = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->userCreateUnuniqueCheck))?0:main_config.MINGID; + int maximum = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->userCreateUnuniqueCheck))?68000:main_config.MAXGID; + for (int i=0;iprev_busy){ prev_busy=atol(parsed[2]); - else { - yon_char_parsed_free(parsed, parsed_size); - break; } } - yon_char_parsed_free(parsed, parsed_size); + } + yon_char_parsed_free(parsed, parsed_size); } gtk_entry_set_text(GTK_ENTRY(window->userUIDEntry),yon_char_from_long(prev_busy+1)); }