Rev 15444 | Rev 15539 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 15444 | Rev 15482 | ||
---|---|---|---|
Line 79... | Line 79... | ||
79 | // serial-> the name of the module indexed by serial, lang and its classe |
79 | // serial-> the name of the module indexed by serial, lang and its classe |
80 | struct revmod { |
80 | struct revmod { |
81 | char name[MAX_MODULELEN+1]; |
81 | char name[MAX_MODULELEN+1]; |
82 | int lang; |
82 | int lang; |
83 | int imod; |
83 | int imod; |
- | 84 | char keywords[MAX_FNAME]; |
|
84 | } revmod[MAX_MODULES]; |
85 | } revmod[MAX_MODULES]; |
85 | int modcnt; |
86 | int modcnt; |
86 | 87 | ||
87 | char *mlist; |
88 | char *mlist; |
88 | char *sheetindex[]={ |
89 | char *sheetindex[]={ |
Line 222... | Line 223... | ||
222 | { |
223 | { |
223 | char *pp; |
224 | char *pp; |
224 | for(pp=strchr(p,','); pp; pp=strchr(pp+1,',')) |
225 | for(pp=strchr(p,','); pp; pp=strchr(pp+1,',')) |
225 | string_modify3(p,pp,pp+1,", "); |
226 | string_modify3(p,pp,pp+1,", "); |
226 | } |
227 | } |
- | 228 | /* replace / by , */ |
|
- | 229 | void backslash(char *p) |
|
227 | 230 | { |
|
- | 231 | char *pp; |
|
- | 232 | for(pp=strchr(p,'/'); pp; pp=strchr(pp+1,'/')) |
|
- | 233 | string_modify3(p,pp,pp+1,","); |
|
- | 234 | } |
|
228 | /* _getdef from lines.c except the error msg*/ |
235 | /* _getdef from lines.c except the error msg*/ |
229 | void _getdef(char buf[], char *name, char value[]) |
236 | void _getdef(char buf[], char *name, char value[]) |
230 | { |
237 | { |
231 | char *p1, *p2, *p3, *p4; |
238 | char *p1, *p2, *p3, *p4; |
232 | 239 | ||
Line 428... | Line 435... | ||
428 | p2=find_word_end(p1); |
435 | p2=find_word_end(p1); |
429 | if(*p2) *p2++=0; |
436 | if(*p2) *p2++=0; |
430 | fprintf(addrf,"%d:%s\n",t,p1); |
437 | fprintf(addrf,"%d:%s\n",t,p1); |
431 | fprintf(serialf,"%s:%d\n",p1,t); |
438 | fprintf(serialf,"%s:%d\n",p1,t); |
432 | ovlstrcpy(revmod[t].name,p1); |
439 | ovlstrcpy(revmod[t].name,p1); |
- | 440 | ovlstrcpy(revmod[t].keywords,p1); |
|
433 | s=strchr(p1,'/'); |
441 | s=strchr(p1,'/'); |
434 | if(s != NULL) s=strchr(s+1,'/'); |
442 | if(s != NULL) s=strchr(s+1,'/'); |
435 | if(s==NULL) { |
443 | if(s==NULL) { |
436 | fprintf(stderr,"modind: no language %s\n",p1); exit(1); |
444 | fprintf(stderr,"modind: no language %s\n",p1); exit(1); |
437 | } |
445 | } |
- | 446 | revmod[t].keywords[s-p1]=0; |
|
438 | s++; |
447 | s++; |
439 | for(i=0;i<langcnt;i++) if(strncasecmp(lang[i],s,2)==0) break; |
448 | for(i=0;i<langcnt;i++) if(strncasecmp(lang[i],s,2)==0) break; |
440 | thislang = i<langcnt ? i : -1; |
449 | thislang = i<langcnt ? i : -1; |
441 | revmod[t].lang=i; |
450 | revmod[t].lang=i; |
442 | s[0]=s[1]='x'; |
451 | s[0]=s[1]='x'; |
Line 533... | Line 542... | ||
533 | l=fread(ibuf,1,MAX_LINELEN,indf); fclose(indf); |
542 | l=fread(ibuf,1,MAX_LINELEN,indf); fclose(indf); |
534 | if(l>0 && l<MAX_LINELEN) ibuf[l]=0; else return -1; |
543 | if(l>0 && l<MAX_LINELEN) ibuf[l]=0; else return -1; |
535 | for(i=0;i<SHEETINDEX_NO;i++) { |
544 | for(i=0;i<SHEETINDEX_NO;i++) { |
536 | _getdef(ibuf,glindex[i],gsindbuf[i]); |
545 | _getdef(ibuf,glindex[i],gsindbuf[i]); |
537 | } |
546 | } |
- | 547 | s=gsindbuf[s_keywords]+strlen(gsindbuf[s_keywords]); |
|
- | 548 | *s++ = ','; |
|
- | 549 | ovlstrcpy(s,revmod[serial].keywords); |
|
- | 550 | backslash(revmod[serial].keywords); |
|
538 | ovlstrcpy(gsindbuf[SHEETINDEX_NO],nbuf); |
551 | ovlstrcpy(gsindbuf[SHEETINDEX_NO],nbuf); |
539 | return 0; |
552 | return 0; |
540 | } |
553 | } |
541 | 554 | ||
542 | unsigned char categories[16]; |
555 | unsigned char categories[16]; |