Inline sdslen and sdsavail (thanks to @bitbckt)
This commit is contained in:
parent
d5b18b5d28
commit
cd7063e85b
12
sds.c
12
sds.c
@ -30,11 +30,11 @@
|
|||||||
|
|
||||||
#define SDS_ABORT_ON_OOM
|
#define SDS_ABORT_ON_OOM
|
||||||
|
|
||||||
#include "sds.h"
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
#include "sds.h"
|
||||||
|
|
||||||
static void sdsOomAbort(void) {
|
static void sdsOomAbort(void) {
|
||||||
fprintf(stderr,"SDS: Out Of Memory (SDS_ABORT_ON_OOM defined)\n");
|
fprintf(stderr,"SDS: Out Of Memory (SDS_ABORT_ON_OOM defined)\n");
|
||||||
@ -69,11 +69,6 @@ sds sdsnew(const char *init) {
|
|||||||
return sdsnewlen(init, initlen);
|
return sdsnewlen(init, initlen);
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t sdslen(const sds s) {
|
|
||||||
struct sdshdr *sh = (void*) (s-(sizeof(struct sdshdr)));
|
|
||||||
return sh->len;
|
|
||||||
}
|
|
||||||
|
|
||||||
sds sdsdup(const sds s) {
|
sds sdsdup(const sds s) {
|
||||||
return sdsnewlen(s, sdslen(s));
|
return sdsnewlen(s, sdslen(s));
|
||||||
}
|
}
|
||||||
@ -83,11 +78,6 @@ void sdsfree(sds s) {
|
|||||||
free(s-sizeof(struct sdshdr));
|
free(s-sizeof(struct sdshdr));
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t sdsavail(sds s) {
|
|
||||||
struct sdshdr *sh = (void*) (s-(sizeof(struct sdshdr)));
|
|
||||||
return sh->free;
|
|
||||||
}
|
|
||||||
|
|
||||||
void sdsupdatelen(sds s) {
|
void sdsupdatelen(sds s) {
|
||||||
struct sdshdr *sh = (void*) (s-(sizeof(struct sdshdr)));
|
struct sdshdr *sh = (void*) (s-(sizeof(struct sdshdr)));
|
||||||
int reallen = strlen(s);
|
int reallen = strlen(s);
|
||||||
|
10
sds.h
10
sds.h
@ -42,6 +42,16 @@ struct sdshdr {
|
|||||||
char buf[];
|
char buf[];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static inline size_t sdslen(const sds s) {
|
||||||
|
struct sdshdr *sh = (void*)(s-(sizeof(struct sdshdr)));
|
||||||
|
return sh->len;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline size_t sdsavail(const sds s) {
|
||||||
|
struct sdshdr *sh = (void*)(s-(sizeof(struct sdshdr)));
|
||||||
|
return sh->free;
|
||||||
|
}
|
||||||
|
|
||||||
sds sdsnewlen(const void *init, size_t initlen);
|
sds sdsnewlen(const void *init, size_t initlen);
|
||||||
sds sdsnew(const char *init);
|
sds sdsnew(const char *init);
|
||||||
sds sdsempty(void);
|
sds sdsempty(void);
|
||||||
|
Loading…
Reference in New Issue
Block a user