Subversion Repositories Kolibri OS

Rev

Rev 4921 | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. /*
  2.  * Copyright (c) 1990 The Regents of the University of California.
  3.  * All rights reserved.
  4.  *
  5.  * Redistribution and use in source and binary forms are permitted
  6.  * provided that the above copyright notice and this paragraph are
  7.  * duplicated in all such forms and that any documentation,
  8.  * advertising materials, and other materials related to such
  9.  * distribution and use acknowledge that the software was developed
  10.  * by the University of California, Berkeley.  The name of the
  11.  * University may not be used to endorse or promote products derived
  12.  * from this software without specific prior written permission.
  13.  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
  14.  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  15.  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  16.  */
  17.  
  18. /*
  19. FUNCTION
  20. <<rename>>---rename a file
  21.  
  22. INDEX
  23.         rename
  24.  
  25. ANSI_SYNOPSIS
  26.         #include <stdio.h>
  27.         int rename(const char *<[old]>, const char *<[new]>);
  28.  
  29. TRAD_SYNOPSIS
  30.         #include <stdio.h>
  31.         int rename(<[old]>, <[new]>)
  32.         char *<[old]>;
  33.         char *<[new]>;
  34.  
  35. DESCRIPTION
  36. Use <<rename>> to establish a new name (the string at <[new]>) for a
  37. file now known by the string at <[old]>.  After a successful
  38. <<rename>>, the file is no longer accessible by the string at <[old]>.
  39.  
  40. If <<rename>> fails, the file named <<*<[old]>>> is unaffected.  The
  41. conditions for failure depend on the host operating system.
  42.  
  43. RETURNS
  44. The result is either <<0>> (when successful) or <<-1>> (when the file
  45. could not be renamed).
  46.  
  47. PORTABILITY
  48. ANSI C requires <<rename>>, but only specifies that the result on
  49. failure be nonzero.  The effects of using the name of an existing file
  50. as <<*<[new]>>> may vary from one implementation to another.
  51.  
  52. Supporting OS subroutines required: <<link>>, <<unlink>>, or <<rename>>.
  53. */
  54.  
  55. #include <_ansi.h>
  56. #include <reent.h>
  57. #include <stdio.h>
  58. #include <sys/unistd.h>
  59.  
  60. #ifndef _REENT_ONLY
  61.  
  62. int
  63. _DEFUN(rename, (old, new),
  64.        _CONST char *old _AND
  65.        _CONST char *new)
  66. {
  67.   return _rename_r (_REENT, old, new);
  68. }
  69.  
  70. #endif
  71.