Changeset 1750 for trunk/dll/tools.c


Ignore:
Timestamp:
Mar 1, 2014, 2:55:57 PM (11 years ago)
Author:
John Small
Message:

Ticket #524: Made "searchapath" thread-safe. Function names and signatures were changed.

So calls to these functions, direct and indirect, had to be changed.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/tools.c

    r1673 r1750  
    2525  08 Mar 09 GKY Removed variable aurguments from docopyf and unlinkf (not used)
    2626  17 JAN 10 GKY Changes to get working with Watcom 1.9 Beta (1/16/10). Mostly cast CHAR CONSTANT * as CHAR *.
     27  01 Mar 14 JBS Ticket #524: Made "searchapath" thread-safe. Function names and signatures were changed.
     28                So calls to these functions had to be changed.
    2729
    2830***********************************************************************/
     
    5456#include "wrappers.h"                   // xfgets
    5557#include "misc.h"                       // CheckDriveSpaceAvail
    56 #include "srchpath.h"                   // searchpath
     58#include "srchpath.h"                   // Search*Path*ForFile
    5759#include "stristr.h"                    // stristr
    5860#include "valid.h"                      // IsFile
     
    141143  FILE *fp;
    142144  CHAR help[80], text[80], flagstr[80], idstr[80], *fname;
     145  CHAR szFullFilename[CCHMAXPATH];
    143146  TOOL *info;
    144147  CHAR *moder = "r";
     
    150153  if (!filename || !*filename)
    151154    filename = (*lasttoolbar) ? lasttoolbar : "CMDS.TLS";
    152   if (*filename)
    153     fname = searchpath(filename);
    154   if (!fname || !*fname)
    155     fname = (PSZ) PCSZ_FM3TOOLSDAT;
     155  if (SearchMultiplePathsForFile(filename, szFullFilename)) {
     156    if (SearchMultiplePathsForFile(PCSZ_FM3TOOLSDAT, szFullFilename))
     157      fname = NULL;
     158    else
     159      fname = szFullFilename;
     160  }
     161  else
     162    fname = szFullFilename;
    156163  if (fname && *fname) {
    157164    filename = fname;
     
    214221{
    215222  FILE *fp;
    216   CHAR *fname;
    217223  TOOL *info;
    218224  CHAR *modew = "w";
     225  CHAR szFullFilename[CCHMAXPATH];
    219226
    220227  if (!filename)
    221228    filename = lasttoolbar;
    222   if (*filename)
    223     fname = searchpath(filename);
    224   if (fname && *fname)
    225     filename = fname;
     229  if (!SearchMultiplePathsForFile(filename, szFullFilename))
     230    filename = szFullFilename;
    226231  else {
    227232    if (*lasttoolbar)
    228233      filename = lasttoolbar;
    229234    else
    230       filename = "FM3TOOLS.TLS";
    231     fname = searchpath(filename);
    232     if (fname && *fname)
    233       filename = fname;
     235      filename = "FM3TOOLS.TLS";        // jbs: Why not PCSZ_FM3TOOLSDAT?
     236    if (!SearchMultiplePathsForFile(filename, szFullFilename))
     237      filename = szFullFilename;
    234238  }
    235239
    236240  if (stristr(filename, PCSZ_FM3TOOLSDAT))
    237     filename = "FM3TOOLS.TLS";
     241    filename = "FM3TOOLS.TLS";          // jbs: Why not PCSZ_FM3TOOLSDAT?
     242  // jbs: Why save full name for toolbar files that are not FM3TOOLS.DAT?
    238243  if (toolhead && filename && *filename) {
    239244    strcpy(lasttoolbar, filename);
     
    956961      HDIR hDir;
    957962      ULONG ulSearchCount, x = 0;
    958       CHAR *masks[] = { "*.TLS", "FM3TOOLS.DAT", NULL };
     963      CHAR *masks[] = { "*.TLS", "FM3TOOLS.DAT", NULL };        // jbs: Why not PCSZ_FM3TOOLSDAT?
    959964
    960965      if (mp2)
Note: See TracChangeset for help on using the changeset viewer.