Ignore:
Timestamp:
Sep 6, 2016, 4:31:46 PM (9 years ago)
Author:
bird
Message:

kmk: Added $(dircache-ctl cmd,...) function for controlling the directory content cache on windows. Some other optimizations.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kmk/function.c

    r2788 r2886  
    54575457}
    54585458
     5459
     5460/* Controls the cache in dir-bird-nt.c. */
     5461
     5462char *
     5463func_dircache_ctl (char *o, char **argv UNUSED, const char *funcname UNUSED)
     5464{
     5465# ifdef KBUILD_OS_WINDOWS
     5466  const char *cmd = argv[0];
     5467  while (isblank ((unsigned char)*cmd))
     5468    cmd++;
     5469  if (strcmp (cmd, "invalidate") == 0)
     5470    {
     5471      if (argv[1] != NULL)
     5472        error (reading_file, "$(dircache-ctl invalidate) takes no parameters");
     5473      dir_cache_invalid_all ();
     5474    }
     5475  else if (strcmp (cmd, "invalidate-missing") == 0)
     5476    {
     5477      if (argv[1] != NULL)
     5478        error (reading_file, "$(dircache-ctl invalidate-missing) takes no parameters");
     5479      dir_cache_invalid_missing ();
     5480    }
     5481  else if (strcmp (cmd, "volatile") == 0)
     5482    {
     5483      size_t i;
     5484      for (i = 1; argv[i] != NULL; i++)
     5485        {
     5486          const char *dir = argv[i];
     5487          while (isblank ((unsigned char)*dir))
     5488            dir++;
     5489          if (*dir)
     5490            dir_cache_volatile_dir (dir);
     5491        }
     5492    }
     5493  else
     5494    error (reading_file, "Unknown $(dircache-ctl ) command: '%s'", cmd);
     5495# endif
     5496  return o;
     5497}
     5498
    54595499#endif /* KMK */
    54605500
     
    56455685#endif
    56465686#ifdef KMK
     5687  { STRING_SIZE_TUPLE("dircache-ctl"),  1,  0,  1,  func_dircache_ctl},
    56475688  { STRING_SIZE_TUPLE("breakpoint"),    0,  0,  0,  func_breakpoint},
    56485689  { STRING_SIZE_TUPLE("set-umask"),     1,  3,  1,  func_set_umask},
Note: See TracChangeset for help on using the changeset viewer.