Changeset 12ce63 in git for Singular/fehelp.cc


Ignore:
Timestamp:
Aug 10, 1999, 7:10:21 PM (25 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
f50151ce23f5c9833d0c0a62236718af718e8bb1
Parents:
6fb39af75604d208d83fccb26107e111dc34bd91
Message:
*** empty log message ***


git-svn-id: file:///usr/local/Singular/svn/trunk@3416 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/fehelp.cc

    r6fb39a r12ce63  
    2828 *****************************************************************/
    2929#define MAX_HE_ENTRY_LENGTH 60
    30 typedef struct 
     30typedef struct
    3131{
    3232  char key[MAX_HE_ENTRY_LENGTH];
     
    5353 *
    5454 *****************************************************************/
    55 static char* strclean(char* str); 
     55static char* strclean(char* str);
    5656static BOOLEAN heKey2Entry(char* filename, char* key, heEntry hentry);
    5757static int heReKey2Entry (char* filename, char* key, heEntry hentry);
     
    111111  heEntry_s hentry;
    112112  char* idxfile = feResource('x' /*"IdxFile"*/);
    113  
     113
    114114  // Try exact match of help string with key in index
    115115  if (!key_is_regexp && idxfile != NULL && heKey2Entry(idxfile, str, &hentry))
     
    120120
    121121  if (! key_is_regexp && heOnlineHelp(str)) return;
    122  
     122
    123123  // Try to match approximately with key in index file
    124124  if (idxfile != NULL)
     
    142142        found = heReKey2Entry(idxfile, mkey, &hentry);
    143143      }
    144      
     144
    145145      // Print warning and return if nothing found
    146146      if (found == 0)
     
    169169    return;
    170170  }
    171  
     171
    172172  // no idx file, let Browsers deal with it, if they can
    173173  strcpy(hentry.key, str);
     
    185185
    186186  // if no argument, see what we have as value to the option
    187   if (which == NULL || *which == '\0') 
     187  if (which == NULL || *which == '\0')
    188188    which = mainGetSingOptionValue("browser");
    189  
     189
    190190  // if no argument, choose first available help browser
    191191  if (which == NULL || *which == '\0')
     
    193193    // unles one is already set
    194194    if (heCurrentHelpBrowser != NULL) goto Finish;
    195    
     195
    196196    while (heHelpBrowsers[i].browser != NULL)
    197197    {
    198       if (heHelpBrowsers[i].init_proc(0)) 
     198      if (heHelpBrowsers[i].init_proc(0))
    199199      {
    200200        heCurrentHelpBrowser = &(heHelpBrowsers[i]);
     
    211211         strcmp(heHelpBrowsers[i].browser, which) != 0)
    212212  {i++;}
    213  
    214   if (heHelpBrowsers[i].browser == NULL) 
     213
     214  if (heHelpBrowsers[i].browser == NULL)
    215215  {
    216216    if (warn) Warn("No help browser '%s' available", which);
     
    225225    }
    226226  }
    227      
     227
    228228  // something went wrong
    229   if (heCurrentHelpBrowser == NULL) 
     229  if (heCurrentHelpBrowser == NULL)
    230230  {
    231231    // choose first available help browser
     
    233233    feHelpBrowser();
    234234    assume(heCurrentHelpBrowser != NULL);
    235     if (warn) 
     235    if (warn)
    236236      Warn("Setting help browser to '%s'", heCurrentHelpBrowser->browser);
    237237    return heCurrentHelpBrowser->browser;
     
    240240  {
    241241    // or, leave as is
    242     if (warn) 
     242    if (warn)
    243243      Warn("Help browser stays at '%s'",  heCurrentHelpBrowser->browser);
    244244  }
     
    253253  int i;
    254254  StringAppendS("Available HelpBrowsers: ");
    255  
     255
    256256  i = 0;
    257257  while (heHelpBrowsers[i].browser != NULL)
    258258  {
    259     if (heHelpBrowsers[i].init_proc(warn)) 
     259    if (heHelpBrowsers[i].init_proc(warn))
    260260      StringAppend("%s, ", heHelpBrowsers[i].browser);
    261261    i++;
     
    263263  StringAppend("\nCurrent HelpBrowser: %s ", feHelpBrowser());
    264264}
    265  
     265
    266266
    267267/*****************************************************************
     
    313313  while ((c = getc(fd)) != EOF)
    314314  {
    315     if (c < k) 
     315    if (c < k)
    316316    {
    317317      /* Skip line */
    318318      while (getc(fd) != '\n') {};
    319       if (i) 
     319      if (i)
    320320      {
    321321        i=0;
     
    341341        }
    342342        if (c == EOF) goto Failure;
    343        
     343
    344344        // get url
    345345        hentry->node[i] = '\0';
     
    362362        return TRUE;
    363363      }
    364       else if (i > kl) 
     364      else if (i > kl)
    365365      {
    366366        goto Failure;
     
    387387static BOOLEAN strmatch(char* s, char* re)
    388388{
    389   if (s == NULL || *s == '\0') 
     389  if (s == NULL || *s == '\0')
    390390    return (re == NULL || *re == '\0' || strcmp(re, "*") == 0);
    391391  if (re == NULL || *re == '\0') return FALSE;
     
    395395  char rs[MAX_HE_ENTRY_LENGTH + 1];
    396396  char *l, *r, *ll, *rr;
    397  
     397
    398398  // make everything to lower case
    399399  i=1;
     
    408408  ls[i] = '\0';
    409409  l = &(ls[1]);
    410  
     410
    411411  i=1;
    412412  rs[0] = '\0';
     
    420420  rs[i] = '\0';
    421421  r = &(rs[1]);
    422  
     422
    423423  // chopp of exact matches from beginning and end
    424424  while (*r != '*' && *r != '\0' && *l != '\0')
     
    447447  if (*rr == '*' && rr[-1] == '\0') return TRUE;
    448448  if (*ll == '\0') return FALSE;
    449  
     449
    450450  // now *r starts with a * and ends with a *
    451451  r++;
     
    455455    rr = r + 1;
    456456    while (*rr != '*' && *rr != '\0') rr++;
    457     if (*rr == '*') 
     457    if (*rr == '*')
    458458    {
    459459      *rr = '\0';
     
    478478  FILE* fd;
    479479  char index_key[MAX_HE_ENTRY_LENGTH];
    480  
     480
    481481  if (filename == NULL || key == NULL)  return 0;
    482482  fd = fopen(filename, "r");
     
    531531    return FALSE;
    532532  }
    533  
     533
    534534  // try help for a library
    535535  int ls = strlen(s);
     
    556556    extern FILE *yylpin;
    557557    lib_style_types lib_style; // = OLD_LIBSTYLE;
    558  
     558
    559559    yylpin = fp;
    560560#ifdef HAVE_NAMESPACES
     
    627627 *
    628628 *****************************************************************/
    629    
     629
    630630static void heBrowserHelp(heEntry hentry)
    631631{
    632632  // check checksums of procs
    633   int kchksum = (hentry != NULL && hentry->chksum > 0 ? 
     633  int kchksum = (hentry != NULL && hentry->chksum > 0 ?
    634634                 heKeyChksum(hentry->key) : 0);
    635   if (kchksum  && kchksum != hentry->chksum && heOnlineHelp(hentry->key)) 
     635  if (kchksum  && kchksum != hentry->chksum && heOnlineHelp(hentry->key))
    636636    return;
    637  
     637
    638638  if (heCurrentHelpBrowser == NULL) feHelpBrowser();
    639639  assume(heCurrentHelpBrowser != NULL);
     
    655655  if (feResource('I') == NULL)
    656656  {
    657     if (warn) 
     657    if (warn)
    658658      WarnS("'info' help browser not available: no 'info' program found");
    659659    return FALSE;
     
    667667  if (hentry != NULL && *(hentry->key) != '\0')
    668668  {
    669     if (*(hentry->node) != '\0') 
    670       sprintf(sys, "%s -f %s --node='%s'", 
     669    if (*(hentry->node) != '\0')
     670      sprintf(sys, "%s -f %s --node='%s'",
    671671              feResource('I'), feResource('i'), hentry->node);
    672672    else
    673       sprintf(sys, "%s -f %s Index '%s'", 
     673      sprintf(sys, "%s -f %s Index '%s'",
    674674              feResource('I'), feResource('i'), hentry->key);
    675675  }
     
    693693    return FALSE;
    694694  }
    695  
     695
    696696  if (feResource('h' /*"HtmlDir"*/, warn) == NULL)
    697697  {
     
    707707  char* htmldir = feResource('h' /*"HtmlDir"*/);
    708708  char* urltype;
    709  
    710   if (htmldir == NULL) 
     709
     710  if (htmldir == NULL)
    711711  {
    712712    urltype = "";
     
    726726    sprintf(url, "%s%s/index.htm", urltype, htmldir);
    727727  }
    728   sprintf(sys, "%s --remote 'OpenUrl(%s)' > /dev/null 2>&1", 
     728  sprintf(sys, "%s --remote 'OpenUrl(%s)' > /dev/null 2>&1",
    729729          feResource('N' /*"netscape"*/), url);
    730  
     730
    731731  // --remote exits with status != 0 if netscaep isn't already running
    732732  if (system(sys) != 0)
     
    768768  if (hentry != NULL && *(hentry->key) != '\0')
    769769  {
    770     if (*(hentry->node) != '\0') 
    771       sprintf(sys, "%s -e %s -f %s --node='%s' &", 
     770    if (*(hentry->node) != '\0')
     771      sprintf(sys, "%s -e %s -f %s --node='%s' &",
    772772              feResource('X'), feResource('I'), feResource('i'), hentry->node);
    773773    else
    774       sprintf(sys, "%s -e %s -f %s Index '%s' &", 
     774      sprintf(sys, "%s -e %s -f %s Index '%s' &",
    775775              feResource('X'), feResource('I'), feResource('i'), hentry->key);
    776776  }
    777777  else
    778     sprintf(sys, "%s -e %s -f %s --node=Top &", 
     778    sprintf(sys, "%s -e %s -f %s --node=Top &",
    779779            feResource('X'), feResource('I'), feResource('i'));
    780780  system(sys);
     
    806806  if (hentry != NULL && *(hentry->node) != '\0')
    807807  {
    808     sprintf(sys, "%s '(%s)%s' &", 
     808    sprintf(sys, "%s '(%s)%s' &",
    809809            feResource('T'), feResource('i'), hentry->node);
    810810  }
    811811  else
    812812  {
    813     sprintf(sys, "%s %s &", 
     813    sprintf(sys, "%s %s &",
    814814            feResource('T'), feResource('i'));
    815815  }
     
    834834{
    835835  WarnS("Your help command could not be executed. Use");
    836   Warn("C-h C-s %s", 
     836  Warn("C-h C-s %s",
    837837       (hentry != NULL && *(hentry->node) != '\0' ? hentry->node : "Top"));
    838838  Warn("to enter the Singular online help. For general");
     
    851851static void heBuiltinHelp(heEntry hentry)
    852852{
    853   char* node = mstrdup(hentry != NULL && *(hentry->node) != '\0' ? 
     853  char* node = mstrdup(hentry != NULL && *(hentry->node) != '\0' ?
    854854                       hentry->node : "Top");
    855855  singular_manual(node);
     
    857857}
    858858
    859  
     859
    860860/* ========================================================================== */
    861861// old, stupid builtin_help
Note: See TracChangeset for help on using the changeset viewer.