#include "adminutil.h"
#include "string-private.h"
static void show_settings(int num_settings, cups_option_t *settings);
int
main(int argc,
char *argv[])
{
int i,
num_settings;
cups_option_t *settings;
http_t *http;
http = httpConnect2(cupsServer(), ippPort(), NULL, AF_UNSPEC,
cupsEncryption(), 1, 30000, NULL);
if (argc > 1)
{
for (i = 1, num_settings = 0, settings = NULL; i < argc; i ++)
num_settings = cupsParseOptions(argv[i], num_settings, &settings);
if (cupsAdminSetServerSettings(http, num_settings, settings))
{
puts("New server settings:");
cupsFreeOptions(num_settings, settings);
}
else
{
printf("Server settings not changed: %s\n", cupsLastErrorString());
return (1);
}
}
else
puts("Current server settings:");
if (cupsAdminGetServerSettings(http, &num_settings, &settings))
{
show_settings(num_settings, settings);
cupsFreeOptions(num_settings, settings);
return (0);
}
else
{
printf(" %s\n", cupsLastErrorString());
return (1);
}
}
static void
show_settings(
int num_settings,
cups_option_t *settings)
{
while (num_settings > 0)
{
printf(" %s=%s\n", settings->name, settings->value);
settings ++;
num_settings --;
}
}