MCPcopy Create free account
hub / github.com/Singular/Singular / feBrowserFile

Function feBrowserFile

Singular/fehelp.cc:177–247  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

175 heBrowserHelp(&hentry);
176}
177static void feBrowserFile()
178{
179 FILE *f=feFopen("help.cnf","r",NULL,TRUE);
180 int br=0;
181 if (f!=NULL)
182 {
183 char buf[512];
184 while (fgets( buf, sizeof(buf), f))
185 {
186 if ((buf[0]!='#') && (buf[0]>' ')) br++;
187 }
188 fseek(f,0,SEEK_SET);
189 // for the 4(!) default browsers
190 heHelpBrowsers=(heBrowser_s*)omAlloc0((br+4)*sizeof(heBrowser_s));
191 br = 0;
192 while (fgets( buf, sizeof(buf), f))
193 {
194 if ((buf[0]!='#') && (buf[0]>' '))
195 {
196 char *name=strtok(buf,"!");
197 char *req=strtok(NULL,"!");
198 char *cmd=strtok(NULL,"!");
199 if ((name!=NULL) && (req!=NULL) && (cmd!=NULL))
200 {
201 while ((cmd[0]!='\0') && (cmd[strlen(cmd)-1]<=' '))
202 cmd[strlen(cmd)-1]='\0';
203 //Print("name %d >>%s<<\n\treq:>>%s<<\n\tcmd:>>%s<<\n",br,name,req,cmd);
204 heHelpBrowsers[br].browser=(char *)omStrDup(name);
205 heHelpBrowsers[br].init_proc=heGenInit;
206 heHelpBrowsers[br].help_proc=heGenHelp;
207 heHelpBrowsers[br].required=omStrDup(req);
208 heHelpBrowsers[br].action=omStrDup(cmd);
209 br++;
210 }
211 else
212 {
213 Print("syntax error in help.cnf, at line starting with %s\n",buf);
214 }
215 }
216 }
217 fclose(f);
218 }
219 else
220 {
221 // for the 4(!) default browsers
222 heHelpBrowsers=(heBrowser_s*)omAlloc0(4*sizeof(heBrowser_s));
223 }
224 heHelpBrowsers[br].browser="builtin";
225 heHelpBrowsers[br].init_proc=heGenInit;
226 heHelpBrowsers[br].help_proc=heBuiltinHelp;
227 heHelpBrowsers[br].required="i";
228 //heHelpBrowsers[br].action=NULL;
229 br++;
230 heHelpBrowsers[br].browser="dummy";
231 heHelpBrowsers[br].init_proc=heDummyInit;
232 heHelpBrowsers[br].help_proc=heDummyHelp;
233 //heHelpBrowsers[br].required=NULL;
234 //heHelpBrowsers[br].action=NULL;

Callers 2

feHelpBrowserFunction · 0.85
feStringAppendBrowsersFunction · 0.85

Calls 3

feFopenFunction · 0.85
omAlloc0Function · 0.85
PrintFunction · 0.50

Tested by

no test coverage detected