/[LeafOK_CVS]/lbbs/src/menu.c
ViewVC logotype

Diff of /lbbs/src/menu.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.27 by sysadm, Mon May 5 11:11:06 2025 UTC Revision 1.29 by sysadm, Mon May 5 14:27:57 2025 UTC
# Line 63  int load_menu(MENU_SET *p_menu_set, cons Line 63  int load_menu(MENU_SET *p_menu_set, cons
63                          if (ireg("^%S_([A-Za-z0-9_]+)", buffer, 2, pmatch) == 0)                          if (ireg("^%S_([A-Za-z0-9_]+)", buffer, 2, pmatch) == 0)
64                          {                          {
65                                  strncpy(temp, buffer + pmatch[1].rm_so,                                  strncpy(temp, buffer + pmatch[1].rm_so,
66                                                  pmatch[1].rm_eo - pmatch[1].rm_so);                                                  (size_t)(pmatch[1].rm_eo - pmatch[1].rm_so));
67                                  temp[pmatch[1].rm_eo - pmatch[1].rm_so] = '\0';                                  temp[pmatch[1].rm_eo - pmatch[1].rm_so] = '\0';
68                                  sprintf(screen_filename, "%s/MENU_SCR_%s", MENU_TEMP_DIR, temp);                                  snprintf(screen_filename, sizeof(screen_filename), "%s/MENU_SCR_%s", MENU_TEMP_DIR, temp);
69    
70                                  if ((fout = fopen(screen_filename, "w")) == NULL)                                  if ((fout = fopen(screen_filename, "w")) == NULL)
71                                  {                                  {
# Line 93  int load_menu(MENU_SET *p_menu_set, cons Line 93  int load_menu(MENU_SET *p_menu_set, cons
93    
94                                  strncpy(p_menu_set->p_menu[i]->name,                                  strncpy(p_menu_set->p_menu[i]->name,
95                                                  buffer + pmatch[1].rm_so,                                                  buffer + pmatch[1].rm_so,
96                                                  pmatch[1].rm_eo - pmatch[1].rm_so);                                                  (size_t)(pmatch[1].rm_eo - pmatch[1].rm_so));
97                                  p_menu_set->p_menu[i]->name[pmatch[1].rm_eo - pmatch[1].rm_so] =                                  p_menu_set->p_menu[i]->name[pmatch[1].rm_eo - pmatch[1].rm_so] =
98                                          '\0';                                          '\0';
99    
# Line 123  int load_menu(MENU_SET *p_menu_set, cons Line 123  int load_menu(MENU_SET *p_menu_set, cons
123                                                  p_menu_set->p_menu[i]->items[j]->submenu = 1;                                                  p_menu_set->p_menu[i]->items[j]->submenu = 1;
124                                                  strncpy(p_menu_set->p_menu[i]->items[j]->action,                                                  strncpy(p_menu_set->p_menu[i]->items[j]->action,
125                                                                  buffer + pmatch[1].rm_so,                                                                  buffer + pmatch[1].rm_so,
126                                                                  pmatch[1].rm_eo - pmatch[1].rm_so);                                                                  (size_t)(pmatch[1].rm_eo - pmatch[1].rm_so));
127                                                  p_menu_set->p_menu[i]->items[j]->action[pmatch[1].rm_eo -                                                  p_menu_set->p_menu[i]->items[j]->action[pmatch[1].rm_eo -
128                                                                                                                                  pmatch[1].rm_so] = '\0';                                                                                                                                  pmatch[1].rm_so] = '\0';
129                                                  strncpy(temp, buffer + pmatch[2].rm_so,                                                  strncpy(temp, buffer + pmatch[2].rm_so,
130                                                                  pmatch[2].rm_eo - pmatch[2].rm_so);                                                                  (size_t)(pmatch[2].rm_eo - pmatch[2].rm_so));
131                                                  temp[pmatch[2].rm_eo - pmatch[2].rm_so] = '\0';                                                  temp[pmatch[2].rm_eo - pmatch[2].rm_so] = '\0';
132                                                  p_menu_set->p_menu[i]->items[j]->row = atoi(temp);                                                  p_menu_set->p_menu[i]->items[j]->row = atoi(temp);
133                                                  strncpy(temp,                                                  strncpy(temp,
134                                                                  buffer + pmatch[3].rm_so,                                                                  buffer + pmatch[3].rm_so,
135                                                                  pmatch[3].rm_eo - pmatch[3].rm_so);                                                                  (size_t)(pmatch[3].rm_eo - pmatch[3].rm_so));
136                                                  temp[pmatch[3].rm_eo - pmatch[3].rm_so] = '\0';                                                  temp[pmatch[3].rm_eo - pmatch[3].rm_so] = '\0';
137                                                  p_menu_set->p_menu[i]->items[j]->col = atoi(temp);                                                  p_menu_set->p_menu[i]->items[j]->col = atoi(temp);
138                                                  strncpy(temp,                                                  strncpy(temp,
139                                                                  buffer + pmatch[4].rm_so,                                                                  buffer + pmatch[4].rm_so,
140                                                                  pmatch[4].rm_eo - pmatch[4].rm_so);                                                                  (size_t)(pmatch[4].rm_eo - pmatch[4].rm_so));
141                                                  temp[pmatch[4].rm_eo - pmatch[4].rm_so] = '\0';                                                  temp[pmatch[4].rm_eo - pmatch[4].rm_so] = '\0';
142                                                  p_menu_set->p_menu[i]->items[j]->priv = atoi(temp);                                                  p_menu_set->p_menu[i]->items[j]->priv = atoi(temp);
143                                                  strncpy(temp,                                                  strncpy(temp,
144                                                                  buffer + pmatch[5].rm_so,                                                                  buffer + pmatch[5].rm_so,
145                                                                  pmatch[5].rm_eo - pmatch[5].rm_so);                                                                  (size_t)(pmatch[5].rm_eo - pmatch[5].rm_so));
146                                                  temp[pmatch[5].rm_eo - pmatch[5].rm_so] = '\0';                                                  temp[pmatch[5].rm_eo - pmatch[5].rm_so] = '\0';
147                                                  p_menu_set->p_menu[i]->items[j]->level = atoi(temp);                                                  p_menu_set->p_menu[i]->items[j]->level = atoi(temp);
148                                                  strncpy(p_menu_set->p_menu[i]->items[j]->name,                                                  strncpy(p_menu_set->p_menu[i]->items[j]->name,
149                                                                  buffer + pmatch[6].rm_so,                                                                  buffer + pmatch[6].rm_so,
150                                                                  pmatch[6].rm_eo - pmatch[6].rm_so);                                                                  (size_t)(pmatch[6].rm_eo - pmatch[6].rm_so));
151                                                  p_menu_set->p_menu[i]->items[j]->name[pmatch[6].rm_eo -                                                  p_menu_set->p_menu[i]->items[j]->name[pmatch[6].rm_eo -
152                                                                                                                            pmatch[6].rm_so] =                                                                                                                            pmatch[6].rm_so] =
153                                                          '\0';                                                          '\0';
154                                                  strncpy(p_menu_set->p_menu[i]->items[j]->text,                                                  strncpy(p_menu_set->p_menu[i]->items[j]->text,
155                                                                  buffer + pmatch[7].rm_so,                                                                  buffer + pmatch[7].rm_so,
156                                                                  pmatch[7].rm_eo - pmatch[7].rm_so);                                                                  (size_t)(pmatch[7].rm_eo - pmatch[7].rm_so));
157                                                  p_menu_set->p_menu[i]->items[j]->text[pmatch[7].rm_eo -                                                  p_menu_set->p_menu[i]->items[j]->text[pmatch[7].rm_eo -
158                                                                                                                            pmatch[7].rm_so] =                                                                                                                            pmatch[7].rm_so] =
159                                                          '\0';                                                          '\0';
# Line 171  int load_menu(MENU_SET *p_menu_set, cons Line 171  int load_menu(MENU_SET *p_menu_set, cons
171                                                  p_menu_set->p_menu[i]->items[j]->submenu = 0;                                                  p_menu_set->p_menu[i]->items[j]->submenu = 0;
172                                                  strncpy(p_menu_set->p_menu[i]->items[j]->action,                                                  strncpy(p_menu_set->p_menu[i]->items[j]->action,
173                                                                  buffer + pmatch[1].rm_so,                                                                  buffer + pmatch[1].rm_so,
174                                                                  pmatch[1].rm_eo - pmatch[1].rm_so);                                                                  (size_t)(pmatch[1].rm_eo - pmatch[1].rm_so));
175                                                  p_menu_set->p_menu[i]->items[j]->action[pmatch[1].rm_eo -                                                  p_menu_set->p_menu[i]->items[j]->action[pmatch[1].rm_eo -
176                                                                                                                                  pmatch[1].rm_so] = '\0';                                                                                                                                  pmatch[1].rm_so] = '\0';
177                                                  strncpy(temp, buffer + pmatch[2].rm_so,                                                  strncpy(temp, buffer + pmatch[2].rm_so,
178                                                                  pmatch[2].rm_eo - pmatch[2].rm_so);                                                                  (size_t)(pmatch[2].rm_eo - pmatch[2].rm_so));
179                                                  temp[pmatch[2].rm_eo - pmatch[2].rm_so] = '\0';                                                  temp[pmatch[2].rm_eo - pmatch[2].rm_so] = '\0';
180                                                  p_menu_set->p_menu[i]->items[j]->row = atoi(temp);                                                  p_menu_set->p_menu[i]->items[j]->row = atoi(temp);
181                                                  strncpy(temp,                                                  strncpy(temp,
182                                                                  buffer + pmatch[3].rm_so,                                                                  buffer + pmatch[3].rm_so,
183                                                                  pmatch[3].rm_eo - pmatch[3].rm_so);                                                                  (size_t)(pmatch[3].rm_eo - pmatch[3].rm_so));
184                                                  temp[pmatch[3].rm_eo - pmatch[3].rm_so] = '\0';                                                  temp[pmatch[3].rm_eo - pmatch[3].rm_so] = '\0';
185                                                  p_menu_set->p_menu[i]->items[j]->col = atoi(temp);                                                  p_menu_set->p_menu[i]->items[j]->col = atoi(temp);
186                                                  strncpy(temp,                                                  strncpy(temp,
187                                                                  buffer + pmatch[4].rm_so,                                                                  buffer + pmatch[4].rm_so,
188                                                                  pmatch[4].rm_eo - pmatch[4].rm_so);                                                                  (size_t)(pmatch[4].rm_eo - pmatch[4].rm_so));
189                                                  temp[pmatch[4].rm_eo - pmatch[4].rm_so] = '\0';                                                  temp[pmatch[4].rm_eo - pmatch[4].rm_so] = '\0';
190                                                  p_menu_set->p_menu[i]->items[j]->priv = atoi(temp);                                                  p_menu_set->p_menu[i]->items[j]->priv = atoi(temp);
191                                                  strncpy(temp,                                                  strncpy(temp,
192                                                                  buffer + pmatch[5].rm_so,                                                                  buffer + pmatch[5].rm_so,
193                                                                  pmatch[5].rm_eo - pmatch[5].rm_so);                                                                  (size_t)(pmatch[5].rm_eo - pmatch[5].rm_so));
194                                                  temp[pmatch[5].rm_eo - pmatch[5].rm_so] = '\0';                                                  temp[pmatch[5].rm_eo - pmatch[5].rm_so] = '\0';
195                                                  p_menu_set->p_menu[i]->items[j]->level = atoi(temp);                                                  p_menu_set->p_menu[i]->items[j]->level = atoi(temp);
196                                                  strncpy(p_menu_set->p_menu[i]->items[j]->name,                                                  strncpy(p_menu_set->p_menu[i]->items[j]->name,
197                                                                  buffer + pmatch[6].rm_so,                                                                  buffer + pmatch[6].rm_so,
198                                                                  pmatch[6].rm_eo - pmatch[6].rm_so);                                                                  (size_t)(pmatch[6].rm_eo - pmatch[6].rm_so));
199                                                  p_menu_set->p_menu[i]->items[j]->name[pmatch[6].rm_eo -                                                  p_menu_set->p_menu[i]->items[j]->name[pmatch[6].rm_eo -
200                                                                                                                            pmatch[6].rm_so] =                                                                                                                            pmatch[6].rm_so] =
201                                                          '\0';                                                          '\0';
202                                                  strncpy(p_menu_set->p_menu[i]->items[j]->text,                                                  strncpy(p_menu_set->p_menu[i]->items[j]->text,
203                                                                  buffer + pmatch[7].rm_so,                                                                  buffer + pmatch[7].rm_so,
204                                                                  pmatch[7].rm_eo - pmatch[7].rm_so);                                                                  (size_t)(pmatch[7].rm_eo - pmatch[7].rm_so));
205                                                  p_menu_set->p_menu[i]->items[j]->text[pmatch[7].rm_eo -                                                  p_menu_set->p_menu[i]->items[j]->text[pmatch[7].rm_eo -
206                                                                                                                            pmatch[7].rm_so] =                                                                                                                            pmatch[7].rm_so] =
207                                                          '\0';                                                          '\0';
# Line 215  int load_menu(MENU_SET *p_menu_set, cons Line 215  int load_menu(MENU_SET *p_menu_set, cons
215                                                  p_menu_set->p_menu[i]->title.show = 1;                                                  p_menu_set->p_menu[i]->title.show = 1;
216                                                  strncpy(temp,                                                  strncpy(temp,
217                                                                  buffer + pmatch[1].rm_so,                                                                  buffer + pmatch[1].rm_so,
218                                                                  pmatch[1].rm_eo - pmatch[1].rm_so);                                                                  (size_t)(pmatch[1].rm_eo - pmatch[1].rm_so));
219                                                  temp[pmatch[1].rm_eo - pmatch[1].rm_so] = '\0';                                                  temp[pmatch[1].rm_eo - pmatch[1].rm_so] = '\0';
220                                                  p_menu_set->p_menu[i]->title.row = atoi(temp);                                                  p_menu_set->p_menu[i]->title.row = atoi(temp);
221                                                  strncpy(temp,                                                  strncpy(temp,
222                                                                  buffer + pmatch[2].rm_so,                                                                  buffer + pmatch[2].rm_so,
223                                                                  pmatch[2].rm_eo - pmatch[2].rm_so);                                                                  (size_t)(pmatch[2].rm_eo - pmatch[2].rm_so));
224                                                  temp[pmatch[2].rm_eo - pmatch[2].rm_so] = '\0';                                                  temp[pmatch[2].rm_eo - pmatch[2].rm_so] = '\0';
225                                                  p_menu_set->p_menu[i]->title.col = atoi(temp);                                                  p_menu_set->p_menu[i]->title.col = atoi(temp);
226                                                  strncpy(p_menu_set->p_menu[i]->title.text,                                                  strncpy(p_menu_set->p_menu[i]->title.text,
227                                                                  buffer + pmatch[3].rm_so,                                                                  buffer + pmatch[3].rm_so,
228                                                                  pmatch[3].rm_eo - pmatch[3].rm_so);                                                                  (size_t)(pmatch[3].rm_eo - pmatch[3].rm_so));
229                                                  p_menu_set->p_menu[i]->title.text[pmatch[3].rm_eo -                                                  p_menu_set->p_menu[i]->title.text[pmatch[3].rm_eo -
230                                                                                                                    pmatch[3].rm_so] =                                                                                                                    pmatch[3].rm_so] =
231                                                          '\0';                                                          '\0';
# Line 238  int load_menu(MENU_SET *p_menu_set, cons Line 238  int load_menu(MENU_SET *p_menu_set, cons
238                                                  p_menu_set->p_menu[i]->screen.show = 1;                                                  p_menu_set->p_menu[i]->screen.show = 1;
239                                                  strncpy(temp,                                                  strncpy(temp,
240                                                                  buffer + pmatch[1].rm_so,                                                                  buffer + pmatch[1].rm_so,
241                                                                  pmatch[1].rm_eo - pmatch[1].rm_so);                                                                  (size_t)(pmatch[1].rm_eo - pmatch[1].rm_so));
242                                                  temp[pmatch[1].rm_eo - pmatch[1].rm_so] = '\0';                                                  temp[pmatch[1].rm_eo - pmatch[1].rm_so] = '\0';
243                                                  p_menu_set->p_menu[i]->screen.row = atoi(temp);                                                  p_menu_set->p_menu[i]->screen.row = atoi(temp);
244                                                  strncpy(temp,                                                  strncpy(temp,
245                                                                  buffer + pmatch[2].rm_so,                                                                  buffer + pmatch[2].rm_so,
246                                                                  pmatch[2].rm_eo - pmatch[2].rm_so);                                                                  (size_t)(pmatch[2].rm_eo - pmatch[2].rm_so));
247                                                  temp[pmatch[2].rm_eo - pmatch[2].rm_so] = '\0';                                                  temp[pmatch[2].rm_eo - pmatch[2].rm_so] = '\0';
248                                                  p_menu_set->p_menu[i]->screen.col = atoi(temp);                                                  p_menu_set->p_menu[i]->screen.col = atoi(temp);
249                                                  strncpy(temp,                                                  strncpy(temp,
250                                                                  buffer + pmatch[3].rm_so,                                                                  buffer + pmatch[3].rm_so,
251                                                                  pmatch[3].rm_eo - pmatch[3].rm_so);                                                                  (size_t)(pmatch[3].rm_eo - pmatch[3].rm_so));
252                                                  temp[pmatch[3].rm_eo - pmatch[3].rm_so] = '\0';                                                  temp[pmatch[3].rm_eo - pmatch[3].rm_so] = '\0';
253                                                  sprintf(p_menu_set->p_menu[i]->screen.filename,                                                  snprintf(p_menu_set->p_menu[i]->screen.filename,
254                                                                  "%s/MENU_SCR_%s", MENU_TEMP_DIR, temp);                                                                   sizeof(p_menu_set->p_menu[i]->screen.filename),
255                                                                     "%s/MENU_SCR_%s", MENU_TEMP_DIR, temp);
256                                                  continue;                                                  continue;
257                                          }                                          }
258                                  }                                  }


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1