[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [tyndur-devel] [PATCH v2 1/3] libc: lio_seek von FILE auf io_resource_t umgestellt



On 24.09.2011 12:40, Kevin Wolf wrote:
> * libc: lio_seek braucht eigentlich kein ganzes FILE, sondern ein
>   io_resource_t reicht auch.
> 
> Signed-off-by: Kevin Wolf <kevin@xxxxxxxxxx>
> ---
>  src/modules/c/shell/cmds/bincat.c    |    2 +-
>  src/modules/cdi/lib/fs/fs.c          |    4 ++--
>  src/modules/include/lostio.h         |    2 +-
>  src/modules/lib/lostio/client/seek.c |   13 ++++---------
>  src/modules/lib/stdlibc/file.c       |    2 +-
>  5 files changed, 9 insertions(+), 14 deletions(-)
> 
[…]
> diff --git a/src/modules/lib/lostio/client/seek.c b/src/modules/lib/lostio/client/seek.c
> index 5f6108d..3cfcd6b 100644
> --- a/src/modules/lib/lostio/client/seek.c
> +++ b/src/modules/lib/lostio/client/seek.c
> @@ -36,27 +36,22 @@
>   *
>   * @param io_res Dateihandle
>   * @param offset Offset bezogen auf den mit origin festgelegten Ursprung
> - * @param origin Ursprung. Moeglichkeiten: 
> + * @param origin Ursprung. Moeglichkeiten:
>   *                  - SEEK_SET Bezogen auf Dateianfang
>   *                  - SEEK_CUR Bezogen auf die aktuelle Position
>   *                  - SEEK_END Bezogen auf das Ende der Datei
>   *
>   * @return true wenn die Position erfolgreich gesetzt wurde, sonst false
>   */
> -bool lio_seek(FILE* io_res, uint64_t offset, int origin)
> +bool lio_seek(io_resource_t* io_res, uint64_t offset, int origin)
>  {
>      io_seek_request_t seek_request;
> -    
> -    // Ungueltige Handles abfangen
> -    if ((io_res == NULL) || (io_res->res->pid == 0)) {
> -        return false;
> -    }
Warum nicht if ((io_res == NULL) || (io_res->pid == 0)) ?

Mir ist zwar nicht ganz klar was das mit der pid 0 auf sich hat, aber
zumindest der nullptr ist doch immer noch genauso gefährlich wie vorher.
>
> -    seek_request.id = io_res->res->id;
> +    seek_request.id = io_res->id;
>      seek_request.offset = offset;
>      seek_request.origin = origin;
>  
> -    return (rpc_get_dword(io_res->res->pid, "IO_SEEK ", sizeof(io_seek_request_t),
> +    return (rpc_get_dword(io_res->pid, "IO_SEEK ", sizeof(io_seek_request_t),
>          (char*) &seek_request) == 0);
>  }
>  

-- 
MNemo