diff options
Diffstat (limited to 'libtbd_create.c')
-rw-r--r-- | libtbd_create.c | 33 |
1 files changed, 28 insertions, 5 deletions
diff --git a/libtbd_create.c b/libtbd_create.c index 80874a8..e25b3c1 100644 --- a/libtbd_create.c +++ b/libtbd_create.c @@ -438,7 +438,7 @@ tbd_create_cmd_symlink_create(FILE *stream, ssize_t len = readlink(slpath, path, sizeof(path)-1); free(slpath); if(len < 0) - return TBD_ERROR_UNABLE_TO_READ_SYMLINK; + return TBD_ERROR(TBD_ERROR_UNABLE_TO_READ_SYMLINK); path[len] = '\0'; if((err = tbd_create_fwrite_cmd(stream, TBD_CMD_SYMLINK_CREATE)) != 0 || @@ -470,7 +470,7 @@ tbd_create_cmd_symlink_delta(FILE *stream, free(spath_b); if(len_a < 0 || len_b < 0) - return TBD_ERROR_UNABLE_TO_READ_SYMLINK; + return TBD_ERROR(TBD_ERROR_UNABLE_TO_READ_SYMLINK); path_a[len_a] = path_b[len_b] = '\0'; @@ -526,6 +526,26 @@ tbd_create_cmd_special_delta(FILE *stream, } static int +tbd_create_cmd_socket_create(FILE *stream, + tbd_stat_t *nod) +{ + (void)stream; + (void)nod; + return TBD_ERROR(TBD_ERROR_UNABLE_TO_CREATE_SOCKET_FILE); +} + +static int +tbd_create_cmd_socket_delta(FILE *stream, + tbd_stat_t *a, + tbd_stat_t *b) +{ + (void)stream; + (void)a; + (void)b; + return TBD_ERROR(TBD_ERROR_UNABLE_TO_CREATE_SOCKET_FILE); +} + +static int tbd_create_dir(FILE *stream, tbd_stat_t *d) { @@ -600,12 +620,13 @@ tbd_create_impl(FILE *stream, case TBD_STAT_TYPE_CHRDEV: case TBD_STAT_TYPE_BLKDEV: case TBD_STAT_TYPE_FIFO: - case TBD_STAT_TYPE_SOCKET: fprintf(stderr, "special new %s\n", b->name); return tbd_create_cmd_special_create(stream, b); + case TBD_STAT_TYPE_SOCKET: + fprintf(stderr, "socket new %s\n", b->name); + return tbd_create_cmd_socket_create(stream, b); default: return TBD_ERROR(TBD_ERROR_FEATURE_NOT_IMPLEMENTED); - break; } } @@ -619,9 +640,11 @@ tbd_create_impl(FILE *stream, case TBD_STAT_TYPE_CHRDEV: case TBD_STAT_TYPE_BLKDEV: case TBD_STAT_TYPE_FIFO: - case TBD_STAT_TYPE_SOCKET: fprintf(stderr, "special delta %s\n", a->name); return tbd_create_cmd_special_delta(stream, a, b); + case TBD_STAT_TYPE_SOCKET: + fprintf(stderr, "socket delta %s\n", a->name); + return tbd_create_cmd_socket_delta(stream, a, b); case TBD_STAT_TYPE_DIR: if(!top) { fprintf(stderr, "dir delta %s\n", a->name); |