diff options
author | Andreas Schneider <asn@samba.org> | 2016-05-18 17:04:38 +0200 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2016-05-18 23:00:35 +0200 |
commit | 1171fe6c7e6a43865ca9ec97e0c14d577d599a41 (patch) | |
tree | cba492d8a8c50d5e69b407df19acbdb2a6832d2f /source3 | |
parent | 858e1eaa64858790888b42d97ae4d6962a09756b (diff) | |
download | samba-1171fe6c7e6a43865ca9ec97e0c14d577d599a41.tar.gz |
s3-net: Cleanup the code of printing migration
Pair-Programmed-With: Guenther Deschner <gd@samba.org>
Signed-off-by: Andreas Schneider <asn@samba.org>
Signed-off-by: Guenther Deschner <gd@samba.org>
Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org>
Autobuild-Date(master): Wed May 18 23:00:35 CEST 2016 on sn-devel-144
Diffstat (limited to 'source3')
-rw-r--r-- | source3/utils/net_printing.c | 43 |
1 files changed, 36 insertions, 7 deletions
diff --git a/source3/utils/net_printing.c b/source3/utils/net_printing.c index cc82e51e67c..8287e0ea04a 100644 --- a/source3/utils/net_printing.c +++ b/source3/utils/net_printing.c @@ -33,9 +33,13 @@ #include "printing/nt_printing_migrate.h" #define FORMS_PREFIX "FORMS/" +#define FORMS_PREFIX_LEN 6 #define DRIVERS_PREFIX "DRIVERS/" +#define DRIVERS_PREFIX_LEN 8 #define PRINTERS_PREFIX "PRINTERS/" +#define PRINTERS_PREFIX_LEN 9 #define SECDESC_PREFIX "SECDESC/" +#define SECDESC_PREFIX_LEN 8 #define ARG_ENCODING "encoding=" @@ -258,12 +262,17 @@ static int net_printing_dump(struct net_context *c, int argc, kbuf.dptr; newkey = tdb_nextkey(tdb, kbuf), free(kbuf.dptr), kbuf=newkey) { + int cmp; + dbuf = tdb_fetch(tdb, kbuf); if (!dbuf.dptr) { continue; } - if (strncmp((const char *)kbuf.dptr, FORMS_PREFIX, strlen(FORMS_PREFIX)) == 0) { + cmp = strncmp((const char *)kbuf.dptr, + FORMS_PREFIX, + FORMS_PREFIX_LEN); + if (cmp == 0) { char *key_name = NULL; size_t converted_size = 0; bool ok; @@ -282,7 +291,10 @@ static int net_printing_dump(struct net_context *c, int argc, continue; } - if (strncmp((const char *)kbuf.dptr, DRIVERS_PREFIX, strlen(DRIVERS_PREFIX)) == 0) { + cmp = strncmp((const char *)kbuf.dptr, + DRIVERS_PREFIX, + DRIVERS_PREFIX_LEN); + if (cmp == 0) { char *key_name = NULL; size_t converted_size = 0; bool ok; @@ -305,7 +317,10 @@ static int net_printing_dump(struct net_context *c, int argc, continue; } - if (strncmp((const char *)kbuf.dptr, PRINTERS_PREFIX, strlen(PRINTERS_PREFIX)) == 0) { + cmp = strncmp((const char *)kbuf.dptr, + PRINTERS_PREFIX, + PRINTERS_PREFIX_LEN); + if (cmp == 0) { char *key_name = NULL; size_t converted_size = 0; bool ok; @@ -328,7 +343,10 @@ static int net_printing_dump(struct net_context *c, int argc, continue; } - if (strncmp((const char *)kbuf.dptr, SECDESC_PREFIX, strlen(SECDESC_PREFIX)) == 0) { + cmp = strncmp((const char *)kbuf.dptr, + SECDESC_PREFIX, + SECDESC_PREFIX_LEN); + if (cmp == 0) { dump_sd(ctx, (const char *)kbuf.dptr+strlen(SECDESC_PREFIX), dbuf.dptr, dbuf.dsize); SAFE_FREE(dbuf.dptr); continue; @@ -390,12 +408,17 @@ static NTSTATUS printing_migrate_internal(struct net_context *c, kbuf.dptr; newkey = tdb_nextkey(tdb, kbuf), free(kbuf.dptr), kbuf = newkey) { + int cmp; + dbuf = tdb_fetch(tdb, kbuf); if (!dbuf.dptr) { continue; } - if (strncmp((const char *) kbuf.dptr, FORMS_PREFIX, strlen(FORMS_PREFIX)) == 0) { + cmp = strncmp((const char *) kbuf.dptr, + FORMS_PREFIX, + FORMS_PREFIX_LEN); + if (cmp == 0) { char *key_name = NULL; size_t converted_size = 0; bool ok; @@ -418,7 +441,10 @@ static NTSTATUS printing_migrate_internal(struct net_context *c, continue; } - if (strncmp((const char *) kbuf.dptr, DRIVERS_PREFIX, strlen(DRIVERS_PREFIX)) == 0) { + cmp = strncmp((const char *) kbuf.dptr, + DRIVERS_PREFIX, + DRIVERS_PREFIX_LEN); + if (cmp == 0) { char *key_name = NULL; size_t converted_size = 0; bool ok; @@ -442,7 +468,10 @@ static NTSTATUS printing_migrate_internal(struct net_context *c, continue; } - if (strncmp((const char *) kbuf.dptr, PRINTERS_PREFIX, strlen(PRINTERS_PREFIX)) == 0) { + cmp = strncmp((const char *) kbuf.dptr, + PRINTERS_PREFIX, + PRINTERS_PREFIX_LEN); + if (cmp == 0) { char *key_name = NULL; size_t converted_size = 0; bool ok; |