IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jul 7, 2005, 4:04:05 PM (21 years ago)
Author:
jhoblitt
Message:

change nebCopy() to return bool
add nebCopy() src

Location:
trunk/Nebulous/nebclient/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Nebulous/nebclient/src/nebclient.c

    r4509 r4510  
    44 * Copyright (C) 2005  Joshua Hoblitt
    55 *
    6  * $Id: nebclient.c,v 1.15 2005-07-08 01:38:00 jhoblitt Exp $
     6 * $Id: nebclient.c,v 1.16 2005-07-08 02:04:05 jhoblitt Exp $
    77 */
    88
     
    300300}
    301301
    302 int nebCopy(nebServer *server, const char *key, const char *newKey)
    303 {
    304 
    305     return 0;
     302bool nebCopy(nebServer *server, const char *key, const char *newKey)
     303{
     304    int             sourceFH;
     305    int             destFH;
     306
     307    sourceFH = nebOpen(server, (char *)key, NEB_READ);
     308    if (sourceFH < 0) {
     309        // propigate nebOpen() error
     310
     311        return false;
     312    }
     313
     314    destFH = nebCreate(server, newKey, 0, NULL, NULL, NULL);
     315    if (destFH < 0) {
     316        // propigate nebCreate() error
     317
     318        return false;
     319    }
     320
     321    nebCopyFilehandle(sourceFH, destFH);
     322
     323    if (close(sourceFH) == -1) {
     324        nebSetErr(server, "can not close file: %s", strerror(errno));
     325
     326        return false;
     327    }
     328
     329    if (close(destFH) == -1) {
     330        nebSetErr(server, "can not close file: %s", strerror(errno));
     331
     332        return false;
     333    }
     334
     335    return true;
    306336}
    307337
  • trunk/Nebulous/nebclient/src/nebclient.h

    r4508 r4510  
    44 * Copyright (C) 2005  Joshua Hoblitt
    55 *
    6  * $Id: nebclient.h,v 1.16 2005-07-08 01:33:56 jhoblitt Exp $
     6 * $Id: nebclient.h,v 1.17 2005-07-08 02:04:05 jhoblitt Exp $
    77 */
    88
     
    4343bool nebDelete(nebServer *server, const char *key);
    4444
    45 int nebCopy(nebServer *server, const char *key, const char *newKey);
     45bool nebCopy(nebServer *server, const char *key, const char *newKey);
    4646
    4747int nebMove(nebServer *server, const char *key, const char *newKey);
  • trunk/Nebulous/nebclient/src/test.c

    r4508 r4510  
    5151    nebFree(filename);
    5252
     53    if (!nebCopy(server, argv[1], "copyiedfile")) {
     54        printf("copy failed: %s\n", nebErr(server));
     55    } else {
     56        printf("copy succeeded\n");
     57    }
     58
    5359    if (!nebDelete(server, argv[1])) {
     60        printf( "delete failed\n" );
     61    } else {
     62        printf( "delete succeeded\n" );
     63    }
     64
     65    if (!nebDelete(server, "copyiedfile")) {
    5466        printf( "delete failed\n" );
    5567    } else {
Note: See TracChangeset for help on using the changeset viewer.