Changeset 3191 for trunk/tools


Ignore:
Timestamp:
Mar 22, 2000, 2:16:24 PM (25 years ago)
Author:
bird
Message:

-I and -E may now take one environment variable in enclosed in %s as arguments.
This is done since CMD.EXE don't expand env.vars like 4OS2 does.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/fastdep/fastdep.c

    r3180 r3191  
    1 /* $Id: fastdep.c,v 1.17 2000-03-21 13:16:18 bird Exp $
     1/* $Id: fastdep.c,v 1.18 2000-03-22 13:16:24 bird Exp $
    22 *
    33 * Fast dependents. (Fast = Quick and Dirty!)
     
    301301    int         i;
    302302    char *      psz;
     303    char *      psz2;
    303304    const char *pszDepFile = pszDefaultDepFile;
    304305    char        achBuffer[4096];
     
    433434                    /* path or path list */
    434435                    if (strlen(argv[argi]) > 2)
    435                         strcat(szExclude, &argv[argi][2]);
     436                        psz = &argv[argi][2];
    436437                    else
    437438                    {
    438                         strcat(szExclude, argv[argi+1]);
     439                        psz = argv[argi+1];
    439440                        argi++;
    440441                    }
    441                     strlwr(szExclude);
    442                     if (szExclude[strlen(szExclude)-1] != ';')
    443                         strcat(szExclude, ";");
     442                    /* check if enviroment variable */
     443                    if (*psz == '%')
     444                    {
     445                        psz2 = strdup(psz+1);
     446                        if (psz2 != NULL && *psz2 != '\0')
     447                        {
     448                            if (psz2[strlen(psz2)-1] == '%')
     449                                psz2[strlen(psz2)-1] = '\0';
     450                            psz = getenv(psz2);
     451                            free(psz2);
     452                            if (psz == NULL)
     453                                break;
     454                        }
     455                        else
     456                        {
     457                            fprintf(stderr, "error: -E% is not an valid argument!\n");
     458                            return -1;
     459                        }
     460                    }
     461                    if (psz != NULL)
     462                    {
     463                        strcat(szExclude, psz);
     464                        strlwr(szExclude);
     465                        if (szExclude[strlen(szExclude)-1] != ';')
     466                            strcat(szExclude, ";");
     467                    }
    444468                    break;
    445469
     
    447471                case 'i':
    448472                    if (strlen(argv[argi]) > 2)
    449                         strcat(szInclude, &argv[argi][2]);
     473                        psz = &argv[argi][2];
    450474                    else
    451475                    {
    452                         strcat(szInclude, argv[argi+1]);
     476                        psz = argv[argi+1];
    453477                        argi++;
    454478                    }
    455                     strlwr(szInclude);
    456                     if (szInclude[strlen(szInclude)-1] != ';')
    457                         strcat(szInclude, ";");
     479                    /* check if enviroment variable */
     480                    if (*psz == '%')
     481                    {
     482                        psz2 = strdup(psz+1);
     483                        if (psz2 != NULL && *psz2 != '\0')
     484                        {
     485                            if (psz2[strlen(psz2)-1] == '%')
     486                                psz2[strlen(psz2)-1] = '\0';
     487                            psz = getenv(psz2);
     488                            free(psz2);
     489                            if (psz == NULL)
     490                                break;
     491                        }
     492                        else
     493                        {
     494                            fprintf(stderr, "error: -I% is not an valid argument!\n");
     495                            return -1;
     496                        }
     497                    }
     498                    if (psz != NULL)
     499                    {
     500                        strcat(szInclude, psz);
     501                        strlwr(szInclude);
     502                        if (szInclude[strlen(szInclude)-1] != ';')
     503                            strcat(szInclude, ";");
     504                    }
    458505                    break;
    459506
Note: See TracChangeset for help on using the changeset viewer.