Ignore:
Timestamp:
Sep 3, 2010, 5:33:06 PM (15 years ago)
Author:
Yuri Dario
Message:

python: merged offline changes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • python/trunk/Python/sysmodule.c

    r2 r10  
    15561556                        /* It's a symlink */
    15571557                        link[nr] = '\0';
    1558                         if (link[0] == SEP)
     1558                        if (IS_ABSPATH(link))
    15591559                                argv0 = link; /* Link to absolute path */
    1560                         else if (strchr(link, SEP) == NULL)
     1560                        else if (!HAS_ANYSEP(link))
    15611561                                ; /* Link without path */
    15621562                        else {
    15631563                                /* Must join(dirname(argv0), link) */
    15641564                                char *q = strrchr(argv0, SEP);
     1565#ifdef ALTSEP
     1566                                char *q2 = strrchr(q ? q : argv0, ALTSEP);
     1567                                if (q2)
     1568                                        q = q2;
     1569#endif
     1570#ifdef DRVSEP
     1571                                if (!q && HAS_DRV(argv0))
     1572                                        q = strchr(argv0, DRVSEP);
     1573#endif
     1574
    15651575                                if (q == NULL)
    15661576                                        argv0 = link; /* argv0 without path */
     
    15681578                                        /* Must make a copy */
    15691579                                        strcpy(argv0copy, argv0);
    1570                                         q = strrchr(argv0copy, SEP);
     1580                                        q = &argv0copy[q - argv0];
    15711581                                        strcpy(q+1, link);
    15721582                                        argv0 = argv0copy;
     
    16091619#endif
    16101620                        p = strrchr(argv0, SEP);
     1621#ifdef ALTSEP
     1622                        {
     1623                                char *p2 = strrchr(p ? p : argv0, ALTSEP);
     1624                                if (p2 != NULL)
     1625                                        p = p2;
     1626                        }
     1627#endif
     1628#ifdef DRVSEP
     1629                        if (p == NULL && HAS_DRV(argv0))
     1630                                p = strchr(argv0, DRVSEP);
     1631#endif
    16111632                }
    16121633                if (p != NULL) {
Note: See TracChangeset for help on using the changeset viewer.