- size = sizeof(installdir);
- RegQueryValueEx(key, "installdir", NULL, NULL, installdir, &size);
- RegCloseKey(key);
+ strlcpy(installdir, "C:/Program Files/cups.org", sizeof(installdir));
+
+ if (!RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\cups.org", 0, KEY_READ,
+ &key))
+ {
+ /*
+ * Grab the installation directory...
+ */
+
+ char *ptr; /* Pointer into installdir */
+
+ size = sizeof(installdir);
+ RegQueryValueEx(key, "installdir", NULL, NULL, installdir, &size);
+ RegCloseKey(key);
+
+ for (ptr = installdir; *ptr;)
+ {
+ if (*ptr == '\\')
+ {
+ if (ptr[1])
+ *ptr++ = '/';
+ else
+ *ptr = '\0'; /* Strip trailing \ */
+ }
+ else if (*ptr == '/' && !ptr[1])
+ *ptr = '\0'; /* Strip trailing / */
+ else
+ ptr ++;
+ }
+ }
+
+ snprintf(confdir, sizeof(confdir), "%s/conf", installdir);
+ snprintf(localedir, sizeof(localedir), "%s/locale", installdir);