Changeset 5310


Ignore:
Timestamp:
01/01/04 18:55:00 (17 years ago)
Author:
piso
Message:

Work in progress.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/j/src/org/armedbear/lisp/Pathname.java

    r5296 r5310  
    33 *
    44 * Copyright (C) 2003 Peter Graves
    5  * $Id: Pathname.java,v 1.24 2004-01-01 01:32:18 piso Exp $
     5 * $Id: Pathname.java,v 1.25 2004-01-01 18:55:00 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    4343    }
    4444
    45     private Pathname(String namestring)
    46     {
    47         this.namestring = namestring;
    48         if (namestring != null) {
    49             for (int i = namestring.length(); i-- > 0;) {
    50                 char c = namestring.charAt(i);
     45    private Pathname(String s)
     46    {
     47        if (s != null) {
     48            this.namestring = s;
     49            // Find last file separator char.
     50            for (int i = s.length(); i-- > 0;) {
     51                char c = s.charAt(i);
    5152                if (c == '/' || c == '\\') {
    52                     directory = new LispString(namestring.substring(0, i + 1));
    53                     String s = namestring.substring(i + 1);
    54                     int index = s.lastIndexOf('.');
    55                     if (index >= 0) {
    56                         name = new LispString(s.substring(0, index));
    57                         type = new LispString(s.substring(index + 1));
    58                     } else
    59                         name = new LispString(s);
     53                    directory = new LispString(s.substring(0, i + 1));
     54                    s = s.substring(i + 1);
    6055                    break;
    6156                }
    6257            }
    63             if (name == NIL)
    64                 name = new LispString(namestring);
     58            int index = s.lastIndexOf('.');
     59            if (index > 0) {
     60                name = new LispString(s.substring(0, index));
     61                type = new LispString(s.substring(index + 1));
     62            } else
     63                name = new LispString(s);
    6564        }
    6665    }
     
    240239        {
    241240            checkCaseArgument(second);
    242             return coerceToPathname(first).host;
     241            return coerceToPathname(first).type;
    243242        }
    244243    };
Note: See TracChangeset for help on using the changeset viewer.