summaryrefslogtreecommitdiff
path: root/scheduler/classes.c
diff options
context:
space:
mode:
authormsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>2011-05-12 06:22:31 +0000
committermsweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be>2011-05-12 06:22:31 +0000
commit321d8d57dacf00e4ae19558dc9444519f4d9ade1 (patch)
tree6f07778268fd2099c235dd4d2f2d4aa38fcb0110 /scheduler/classes.c
parenteac3a0a01bf37d95f4129b28296cb697c54b2613 (diff)
downloadcups-321d8d57dacf00e4ae19558dc9444519f4d9ade1.tar.gz
Merge changes from CUPS 1.5b1-r9774.
git-svn-id: svn+ssh://src.apple.com/svn/cups/easysw/current@3247 a1ca3aef-8c08-0410-bb20-df032aa958be
Diffstat (limited to 'scheduler/classes.c')
-rw-r--r--scheduler/classes.c42
1 files changed, 7 insertions, 35 deletions
diff --git a/scheduler/classes.c b/scheduler/classes.c
index 25fde29e1..56a49eaf9 100644
--- a/scheduler/classes.c
+++ b/scheduler/classes.c
@@ -309,13 +309,8 @@ cupsdLoadAllClasses(void)
*/
snprintf(line, sizeof(line), "%s/classes.conf", ServerRoot);
- if ((fp = cupsFileOpen(line, "r")) == NULL)
- {
- if (errno != ENOENT)
- cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to open %s - %s", line,
- strerror(errno));
+ if ((fp = cupsdOpenConfFile(line)) == NULL)
return;
- }
/*
* Read class configurations until we hit EOF...
@@ -691,8 +686,8 @@ void
cupsdSaveAllClasses(void)
{
cups_file_t *fp; /* classes.conf file */
- char temp[1024], /* Temporary string */
- backup[1024], /* printers.conf.O file */
+ char filename[1024], /* classes.conf filename */
+ temp[1024], /* Temporary string */
value[2048], /* Value string */
*name; /* Current user name */
cupsd_printer_t *pclass; /* Current printer class */
@@ -706,35 +701,12 @@ cupsdSaveAllClasses(void)
* Create the classes.conf file...
*/
- snprintf(temp, sizeof(temp), "%s/classes.conf", ServerRoot);
- snprintf(backup, sizeof(backup), "%s/classes.conf.O", ServerRoot);
-
- if (rename(temp, backup))
- {
- if (errno != ENOENT)
- cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to backup classes.conf - %s",
- strerror(errno));
- }
-
- if ((fp = cupsFileOpen(temp, "w")) == NULL)
- {
- cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to save classes.conf - %s",
- strerror(errno));
+ snprintf(filename, sizeof(filename), "%s/classes.conf", ServerRoot);
- if (rename(backup, temp))
- cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to restore classes.conf - %s",
- strerror(errno));
+ if ((fp = cupsdCreateConfFile(filename, ConfigFilePerm)) == NULL)
return;
- }
- else
- cupsdLogMessage(CUPSD_LOG_INFO, "Saving classes.conf...");
-
- /*
- * Restrict access to the file...
- */
- fchown(cupsFileNumber(fp), RunUser, Group);
- fchmod(cupsFileNumber(fp), ConfigFilePerm);
+ cupsdLogMessage(CUPSD_LOG_INFO, "Saving classes.conf...");
/*
* Write a small header to the file...
@@ -857,7 +829,7 @@ cupsdSaveAllClasses(void)
cupsFilePuts(fp, "</Class>\n");
}
- cupsFileClose(fp);
+ cupsdCloseCreatedConfFile(fp, filename);
}