IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Dec 2, 2005, 1:49:08 PM (21 years ago)
Author:
jhoblitt
Message:

[nebclient] add nebOpenCreate()
[nebclient] change nebCreate() to return just a filename

File:
1 edited

Legend:

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

    r4676 r5661  
    44 * Copyright (C) 2005  Joshua Hoblitt
    55 *
    6  * $Id: nebclient.c,v 1.39 2005-07-30 02:43:38 jhoblitt Exp $
     6 * $Id: nebclient.c,v 1.40 2005-12-02 23:49:08 jhoblitt Exp $
    77 */
    88
     
    8383}
    8484
    85 int nebCreate(nebServer *server, const char *key, unsigned int class, const char *volume, const char *comment, char **URI)
     85char *nebCreate(nebServer *server, const char *key, unsigned int class, const char *volume, const char *comment, char **URI)
    8686{
    8787    struct ns1__create_USCOREobjectResponse response;
    8888    char            *filename;
    89     int             file;
    90 
    91     REQUIRE_SERVER;
    92 
    93     if (!key) {
    94         nebSetErr(server, "parameter 'key' may not be NULL");
    95 
    96         return -1;
     89
     90    REQUIRE_SERVER;
     91
     92    if (!key) {
     93        nebSetErr(server, "parameter 'key' may not be NULL");
     94
     95        return NULL;
    9796    }
    9897
     
    102101        nebSetServerErr(server);
    103102
    104         return -1;
     103        return NULL;
    105104    }
    106105
     
    108107        nebSetErr(server, "can not parse URI");
    109108
    110         return -1;
    111     }
     109        return NULL;
     110    }
     111
     112    // if URI is not NULL
     113    if (URI) {
     114        *URI = xmalloc(strlen((char *)response.result));
     115        strcpy(*URI, (char *)response.result);
     116    }
     117
     118    return filename;
     119}
     120
     121int nebOpenCreate(nebServer *server, const char *key, unsigned int class, const char *volume, const char *comment, char **URI)
     122{
     123    char            *filename;
     124    int             file;
     125
     126    REQUIRE_SERVER;
     127
     128    if (!key) {
     129        nebSetErr(server, "parameter 'key' may not be NULL");
     130
     131        return -1;
     132    }
     133
     134    filename = nebCreate(server, key, class, volume, comment, URI);
    112135
    113136    file = open(filename, O_RDWR|O_TRUNC, 0660);
     
    120143
    121144    nebFree(filename);
    122 
    123     // if URI is not NULL
    124     if (URI) {
    125         *URI = xmalloc(strlen((char *)response.result));
    126         strcpy(*URI, (char *)response.result);
    127     }
    128145
    129146    return file;
     
    501518    }
    502519
    503     destFH = nebCreate(server, newKey, 0, NULL, NULL, NULL);
     520    destFH = nebOpenCreate(server, newKey, 0, NULL, NULL, NULL);
    504521    if (destFH < 0) {
    505522        // propigate nebCreate() error
Note: See TracChangeset for help on using the changeset viewer.