X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Fsc.c;h=ef5d097dcbed3a27b48d0083851608ee28186801;hp=9336e60d8a60bd42c9f3453a9c9c76af0b158208;hb=7d7e192def2fef342d235ea894eddb1e89edd714;hpb=ec7571c09ddbe4580775d3a8a60271a657ae02a6 diff --git a/src/sc.c b/src/sc.c index 9336e60..ef5d097 100644 --- a/src/sc.c +++ b/src/sc.c @@ -1,12 +1,14 @@ /* This file is part of the YAZ toolkit. - * Copyright (C) 1995-2008 Index Data + * Copyright (C) 1995-2011 Index Data * See the file LICENSE for details. */ - /** * \file sc.c * \brief Windows Service Control */ +#if HAVE_CONFIG_H +#include +#endif #ifdef WIN32 #include @@ -41,7 +43,7 @@ struct sc_s { yaz_sc_t yaz_sc_create(const char *service_name, const char *display_name) { - yaz_sc_t s = xmalloc(sizeof(*s)); + yaz_sc_t s = (yaz_sc_t) xmalloc(sizeof(*s)); s->service_name = service_name ? xstrdup(service_name) : 0; s->display_name = display_name ? xstrdup(display_name) : 0; @@ -268,7 +270,11 @@ int yaz_sc_program(yaz_sc_t s, int argc, char **argv, for (i = 1; i < argc; i++) { wrbuf_puts(w, " "); + if (strchr(argv[i], ' ')) + wrbuf_puts(w, "\""); wrbuf_puts(w, argv[i]); + if (strchr(argv[i], ' ')) + wrbuf_puts(w, "\""); } wrbuf_puts(w, " -run \""); wrbuf_puts(w, cwdstr); @@ -373,6 +379,7 @@ void yaz_sc_destroy(yaz_sc_t *s) /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab