-char serveropts[] = {
-#if BUFFERPOOL < 1000000
- 'b',
-#if BUFFERPOOL > 99999
- (char)('0' + (BUFFERPOOL/100000)),
-#endif
-#if BUFFERPOOL > 9999
- (char)('0' + (BUFFERPOOL/10000) % 10),
-#endif
- (char)('0' + (BUFFERPOOL/1000) % 10),
-#else
- 'B',
-#if BUFFERPOOL > 99999999
- (char)('0' + (BUFFERPOOL/100000000)),
-#endif
-#if BUFFERPOOL > 9999999
- (char)('0' + (BUFFERPOOL/10000000) % 10),
-#endif
- (char)('0' + (BUFFERPOOL/1000000) % 10),
-#endif
-#ifdef CHROOTDIR
- 'c',
-#endif
-#ifdef CMDLINE_CONFIG
- 'C',
-#endif
-#ifdef DO_ID
- 'd',
+static char serveropts[256]; /* should be large enough for anything */
+
+/** Return a string describing important configuration information.
+ * @return Pointer to a static buffer.
+ */
+const char* debug_serveropts(void)
+{
+ int bp;
+ int i = 0;
+#define AddC(c) serveropts[i++] = (c)
+
+ bp = feature_int(FEAT_BUFFERPOOL);
+ if (bp < 1000000) {
+ AddC('b');
+ if (bp > 99999)
+ AddC((char)('0' + (bp / 100000)));
+ if (bp > 9999)
+ AddC((char)('0' + (bp / 10000) % 10));
+ AddC((char)('0' + (bp / 1000) % 10));
+ } else {
+ AddC('B');
+ if (bp > 99999999)
+ AddC((char)('0' + (bp / 100000000)));
+ if (bp > 9999999)
+ AddC((char)('0' + (bp / 10000000) % 10));
+ AddC((char)('0' + (bp / 1000000) % 10));
+ }
+
+#ifndef NDEBUG
+ AddC('A');