Changeset 1780


Ignore:
Timestamp:
Jan 17, 2005, 4:57:36 AM (21 years ago)
Author:
bird
Message:

fixed unlink and remove, making them work with dirs and symlinks.

Location:
trunk/src/emx
Files:
2 added
1 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/emx/include/InnoTekLIBC/backend.h

    • Property cvs2svn:cvs-rev changed from 1.15 to 1.16
    r1779 r1780  
    300300 */
    301301int __libc_Back_fsRename(const char *pszPathOld, const char *pszPathNew);
     302
     303/**
     304 * Unlinks a file, directory, symlink, dev, pipe or socket.
     305 *
     306 * @returns 0 on success.
     307 * @returns Negative error code (errno.h) on failure.
     308 * @param   pszPath         Path to the filesystem file/dir/symlink/whatever to remove.
     309 */
     310int __libc_Back_fsUnlink(const char *pszPath);
     311
    302312
    303313/** @defgroup __libc_Back_io   LIBC Backend - I/O and File Management.
  • trunk/src/emx/src/lib/io/unlink.c

    • Property cvs2svn:cvs-rev changed from 1.3 to 1.4
    r1779 r1780  
    1 /* unlink.c (emx+gcc) -- Copyright (c) 1990-1996 by Eberhard Mattes */
     1/* $Id: $ */
     2/** @file
     3 *
     4 * unlink().
     5 *
     6 * Copyright (c) 2005 knut st. osmundsen <bird@anduin.net>
     7 *
     8 *
     9 * This file is part of InnoTek LIBC.
     10 *
     11 * InnoTek LIBC is free software; you can redistribute it and/or modify
     12 * it under the terms of the GNU Lesser General Public License as published
     13 * by the Free Software Foundation; either version 2 of the License, or
     14 * (at your option) any later version.
     15 *
     16 * InnoTek LIBC is distributed in the hope that it will be useful,
     17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     19 * GNU Lesser General Public License for more details.
     20 *
     21 * You should have received a copy of the GNU Lesser General Public License
     22 * along with InnoTek LIBC; if not, write to the Free Software
     23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
     24 *
     25 */
    226
     27
     28/*******************************************************************************
     29*   Header Files                                                               *
     30*******************************************************************************/
    331#include "libc-alias.h"
     32#include <stdio.h>
     33#include <errno.h>
     34#include <unistd.h>
    435#include <io.h>
    5 #include <emx/syscalls.h>
     36#include <InnoTekLIBC/backend.h>
     37#define __LIBC_LOG_GROUP __LIBC_LOG_GRP_IO
     38#include <InnoTekLIBC/logstrict.h>
    639
    7 int _STD(unlink) (const char *name)
     40
     41/**
     42 * Unlinks file, directory, symlink, dev, socket or fifo.
     43 *
     44 * @returns 0 on success.
     45 * @returns -1 and errno on failure.
     46 * @param   pszPath     File/dir/whatever to remove.
     47 * @remark  OS/2 doesn't support removal of dev, socket or fifo disk structures ATM.
     48 */
     49int _STD(unlink)(const char *pszPath)
    850{
    9   return remove (name);       /* There are no links */
     51    LIBCLOG_ENTER("pszFile=%s\n", pszPath);
     52    int rc = __libc_Back_fsUnlink(pszPath);
     53    if (!rc)
     54        LIBCLOG_RETURN_INT(0);
     55    errno = -rc;
     56    LIBCLOG_RETURN_INT(-1);
    1057}
     58
  • trunk/src/emx/src/lib/libc.def

    • Property cvs2svn:cvs-rev changed from 1.91 to 1.92
    r1779 r1780  
    13721372    "__std_wcstok" @1386
    13731373    "__std_wcswidth" @1387
     1374    "___libc_Back_fsUnlink" @1388
Note: See TracChangeset for help on using the changeset viewer.