home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mitsch75.zip / scheme-7_5_17-src.zip / scheme-7.5.17 / src / microcode / ntsys.c < prev    next >
C/C++ Source or Header  |  1999-01-02  |  2KB  |  64 lines

  1. /* -*-C-*-
  2.  
  3. $Id: ntsys.c,v 1.9 1999/01/02 06:11:34 cph Exp $
  4.  
  5. Copyright (c) 1992-1999 Massachusetts Institute of Technology
  6.  
  7. This program is free software; you can redistribute it and/or modify
  8. it under the terms of the GNU General Public License as published by
  9. the Free Software Foundation; either version 2 of the License, or (at
  10. your option) any later version.
  11.  
  12. This program is distributed in the hope that it will be useful, but
  13. WITHOUT ANY WARRANTY; without even the implied warranty of
  14. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  15. General Public License for more details.
  16.  
  17. You should have received a copy of the GNU General Public License
  18. along with this program; if not, write to the Free Software
  19. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  20. */
  21.  
  22. #include <stdio.h>
  23. #include "nt.h"
  24. #include "ntsys.h"
  25.  
  26. int
  27. nt_console_write (void * vbuffer, size_t nsize)
  28. {
  29.   unsigned char * buffer = vbuffer;
  30.   int i;
  31.  
  32.   for (i = 0; i < ((int) nsize); i++)
  33.     putchar (buffer[i]);
  34.  
  35.   return (nsize);
  36. }
  37.  
  38. BOOL
  39. nt_pathname_as_filename (const char * name, char * buffer)
  40. { /* Returns whether directory encountered is top level */
  41.   int end_index = ((strlen (name)) - 1);
  42.  
  43.   /* The runtime system comes down with a name that has a back slash
  44.      at the end.  This will choke DOS.
  45.    */
  46.   strcpy (buffer, name);
  47.   if ((end_index >= 0) && (buffer[end_index] == '\\'))
  48.   { /* Name is indeed a directory */
  49.     if (end_index == 0) /* if only one char, name is top */
  50.       return (TRUE);
  51.     else
  52.     {
  53.       if (buffer[end_index-1] == ':') /* Preceded by drive letter, top */
  54.     return (TRUE);
  55.       else
  56.       {
  57.     buffer[end_index] = '\0';
  58.     return (FALSE);
  59.       }
  60.     }
  61.   }
  62.   return (FALSE);
  63. }
  64.