summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/settings.c309
1 files changed, 97 insertions, 212 deletions
diff --git a/apps/settings.c b/apps/settings.c
index 8f7597d8de..6331aada9b 100644
--- a/apps/settings.c
+++ b/apps/settings.c
@@ -1072,7 +1072,6 @@ bool settings_save_config(void)
1072{ 1072{
1073 bool done = false; 1073 bool done = false;
1074 int fd, i, value; 1074 int fd, i, value;
1075 char buf[MAX_PATH + 32];
1076 char filename[MAX_PATH]; 1075 char filename[MAX_PATH];
1077 char* boolopt[] = {"off","on"}; 1076 char* boolopt[] = {"off","on"};
1078 1077
@@ -1111,298 +1110,197 @@ bool settings_save_config(void)
1111 return false; 1110 return false;
1112 } 1111 }
1113 1112
1114 strncpy(buf, "# >>> .cfg file created by rockbox <<<\r\n", sizeof(buf)); 1113 fprintf(fd, "# >>> .cfg file created by rockbox <<<\r\n");
1115 write(fd, buf, strlen(buf)); 1114 fprintf(fd, "# >>> http://rockbox.haxx.se <<<\r\n#\r\n");
1116 1115 fprintf(fd, "#\r\n# wps / language / font \r\n#\r\n");
1117 strncpy(buf, "# >>> http://rockbox.haxx.se <<<\r\n#\r\n", sizeof(buf));
1118 write(fd, buf, strlen(buf));
1119
1120 snprintf(buf, sizeof(buf), "#\r\n# wps / language / font \r\n#\r\n");
1121 write(fd, buf, strlen(buf));
1122 1116
1123 if (global_settings.wps_file[0] != 0) { 1117 if (global_settings.wps_file[0] != 0)
1124 snprintf(buf, sizeof(buf), 1118 fprintf(fd, "wps: /.rockbox/%s.wps\r\n", global_settings.wps_file);
1125 "wps: /.rockbox/%s.wps\r\n", global_settings.wps_file);
1126 write(fd, buf, strlen(buf));
1127 }
1128 1119
1129 if (global_settings.lang_file[0] != 0) { 1120 if (global_settings.lang_file[0] != 0)
1130 snprintf(buf, sizeof(buf), "lang: /.rockbox/%s.lng\r\n", 1121 fprintf(fd, "lang: /.rockbox/%s.lng\r\n", global_settings.lang_file);
1131 global_settings.lang_file);
1132 write(fd, buf, strlen(buf));
1133 }
1134 1122
1135#ifdef HAVE_LCD_BITMAP 1123#ifdef HAVE_LCD_BITMAP
1136 if (global_settings.font_file[0] != 0) { 1124 if (global_settings.font_file[0] != 0)
1137 snprintf(buf, sizeof(buf), "font: /.rockbox/%s.fnt\r\n", 1125 fprintf(fd, "font: /.rockbox/%s.fnt\r\n", global_settings.font_file);
1138 global_settings.font_file);
1139 write(fd, buf, strlen(buf));
1140 }
1141#endif 1126#endif
1142 1127
1143 snprintf(buf, sizeof(buf), "#\r\n# Sound settings\r\n#\r\n"); 1128 fprintf(fd, "#\r\n# Sound settings\r\n#\r\n");
1144 write(fd, buf, strlen(buf));
1145 1129
1146 value = mpeg_val2phys(SOUND_VOLUME, global_settings.volume); 1130 value = mpeg_val2phys(SOUND_VOLUME, global_settings.volume);
1147 snprintf(buf, sizeof(buf), "volume: %d\r\n", value); 1131 fprintf(fd, "volume: %d\r\n", value);
1148 write(fd, buf, strlen(buf));
1149 1132
1150 value = mpeg_val2phys(SOUND_BASS, global_settings.bass); 1133 value = mpeg_val2phys(SOUND_BASS, global_settings.bass);
1151 snprintf(buf, sizeof(buf), "bass: %d\r\n", value); 1134 fprintf(fd, "bass: %d\r\n", value);
1152 write(fd, buf, strlen(buf));
1153 1135
1154 value = mpeg_val2phys(SOUND_TREBLE, global_settings.treble); 1136 value = mpeg_val2phys(SOUND_TREBLE, global_settings.treble);
1155 snprintf(buf, sizeof(buf), "treble: %d\r\n", value); 1137 fprintf(fd, "treble: %d\r\n", value);
1156 write(fd, buf, strlen(buf));
1157 1138
1158 value = mpeg_val2phys(SOUND_BALANCE, global_settings.balance); 1139 value = mpeg_val2phys(SOUND_BALANCE, global_settings.balance);
1159 snprintf(buf, sizeof(buf), "balance: %d\r\n", value); 1140 fprintf(fd, "balance: %d\r\n", value);
1160 write(fd, buf, strlen(buf));
1161 1141
1162 { 1142 {
1163 static char* options[] = 1143 static char* options[] =
1164 {"stereo","stereo narrow","mono","mono left", 1144 {"stereo","stereo narrow","mono","mono left",
1165 "mono right","karaoke","stereo wide"}; 1145 "mono right","karaoke","stereo wide"};
1166 snprintf(buf, sizeof(buf), "channels: %s\r\n", 1146 fprintf(fd, "channels: %s\r\n",
1167 options[global_settings.channel_config]); 1147 options[global_settings.channel_config]);
1168 write(fd, buf, strlen(buf));
1169 } 1148 }
1170 1149
1171#ifdef HAVE_MAS3587F 1150#ifdef HAVE_MAS3587F
1172 value = mpeg_val2phys(SOUND_LOUDNESS, global_settings.loudness); 1151 value = mpeg_val2phys(SOUND_LOUDNESS, global_settings.loudness);
1173 snprintf(buf, sizeof(buf), "loudness: %d\r\n", value); 1152 fprintf(fd, "loudness: %d\r\n", value);
1174 write(fd, buf, strlen(buf));
1175 1153
1176 value = mpeg_val2phys(SOUND_SUPERBASS, global_settings.bass_boost); 1154 value = mpeg_val2phys(SOUND_SUPERBASS, global_settings.bass_boost);
1177 snprintf(buf, sizeof(buf), "bass boost: %d\r\n", value); 1155 fprintf(fd, "bass boost: %d\r\n", value);
1178 write(fd, buf, strlen(buf));
1179 1156
1180 { 1157 {
1181 static char* options[] = {"off", "2", "4", "8" }; 1158 static char* options[] = {"off", "2", "4", "8" };
1182 snprintf(buf, sizeof(buf), "auto volume: %s\r\n", 1159 fprintf(fd, "auto volume: %s\r\n", options[global_settings.avc]);
1183 options[global_settings.avc]);
1184 write(fd, buf, strlen(buf));
1185 } 1160 }
1186#endif 1161#endif
1187 1162
1188 snprintf(buf, sizeof(buf), "#\r\n# Playback\r\n#\r\n"); 1163 fprintf(fd, "#\r\n# Playback\r\n#\r\n");
1189 write(fd, buf, strlen(buf)); 1164 fprintf(fd, "shuffle: %s\r\n", boolopt[global_settings.playlist_shuffle]);
1190
1191 {
1192 snprintf(buf, sizeof(buf), "shuffle: %s\r\n",
1193 boolopt[global_settings.playlist_shuffle]);
1194 write(fd, buf, strlen(buf));
1195 }
1196 1165
1197 { 1166 {
1198 static char* options[] = {"off", "all", "one"}; 1167 static char* options[] = {"off", "all", "one"};
1199 snprintf(buf, sizeof(buf), "repeat: %s\r\n", 1168 fprintf(fd, "repeat: %s\r\n", options[global_settings.repeat_mode]);
1200 options[global_settings.repeat_mode]);
1201 write(fd, buf, strlen(buf));
1202 } 1169 }
1203 1170
1204 { 1171 fprintf(fd, "play selected: %s\r\n",
1205 snprintf(buf, sizeof(buf), "play selected: %s\r\n", 1172 boolopt[global_settings.play_selected]);
1206 boolopt[global_settings.play_selected]);
1207 write(fd, buf, strlen(buf));
1208 }
1209 1173
1210 { 1174 {
1211 static char* options[] = {"off", "ask", "ask once", "on"}; 1175 static char* options[] = {"off", "ask", "ask once", "on"};
1212 snprintf(buf, sizeof(buf), "resume: %s\r\n", 1176 fprintf(fd, "resume: %s\r\n", options[global_settings.resume]);
1213 options[global_settings.resume]);
1214 write(fd, buf, strlen(buf));
1215 } 1177 }
1216 1178
1217 { 1179 {
1218 static char* options[] = 1180 static char* options[] =
1219 {"1","2","3","4","5","6","8","10", 1181 {"1","2","3","4","5","6","8","10",
1220 "15","20","25","30","45","60"}; 1182 "15","20","25","30","45","60"};
1221 snprintf(buf, sizeof(buf), "scan min step: %s\r\n", 1183 fprintf(fd, "scan min step: %s\r\n",
1222 options[global_settings.ff_rewind_min_step]); 1184 options[global_settings.ff_rewind_min_step]);
1223 write(fd, buf, strlen(buf));
1224 } 1185 }
1225 1186
1226 snprintf(buf, sizeof(buf), "scan accel: %d\r\nantiskip: %d\r\n", 1187 fprintf(fd, "scan accel: %d\r\nantiskip: %d\r\n",
1227 global_settings.ff_rewind_accel, 1188 global_settings.ff_rewind_accel,
1228 global_settings.buffer_margin); 1189 global_settings.buffer_margin);
1229 write(fd, buf, strlen(buf)); 1190 fprintf(fd, "volume fade: %s\r\n", boolopt[global_settings.fade_on_stop]);
1230 1191 fprintf(fd, "#\r\n# File View\r\n#\r\n");
1231 { 1192 fprintf(fd, "sort case: %s\r\n", boolopt[global_settings.sort_case]);
1232 snprintf(buf, sizeof(buf), "volume fade: %s\r\n",
1233 boolopt[global_settings.fade_on_stop]);
1234 write(fd, buf, strlen(buf));
1235 }
1236
1237 snprintf(buf, sizeof(buf), "#\r\n# File View\r\n#\r\n");
1238 write(fd, buf, strlen(buf));
1239
1240 {
1241 snprintf(buf, sizeof(buf), "sort case: %s\r\n",
1242 boolopt[global_settings.sort_case]);
1243 write(fd, buf, strlen(buf));
1244 }
1245
1246 {
1247 static char* options[] =
1248 {"all", "supported","music", "playlists"};
1249 snprintf(buf, sizeof(buf), "show files: %s\r\n",
1250 options[global_settings.dirfilter]);
1251 write(fd, buf, strlen(buf));
1252 }
1253 1193
1254 { 1194 {
1255 snprintf(buf, sizeof(buf), "follow playlist: %s\r\n", 1195 static char* options[] = {"all", "supported","music", "playlists"};
1256 boolopt[global_settings.browse_current]); 1196 fprintf(fd, "show files: %s\r\n", options[global_settings.dirfilter]);
1257 write(fd, buf, strlen(buf));
1258 } 1197 }
1259 1198
1260 snprintf(buf, sizeof(buf), "#\r\n# Display\r\n#\r\n"); 1199 fprintf(fd, "follow playlist: %s\r\n",
1261 write(fd, buf, strlen(buf)); 1200 boolopt[global_settings.browse_current]);
1262 1201
1202 fprintf(fd, "#\r\n# Display\r\n#\r\n");
1203
1263#ifdef HAVE_LCD_BITMAP 1204#ifdef HAVE_LCD_BITMAP
1264 { 1205 fprintf(fd, "statusbar: %s\r\nscrollbar: %s\r\n",
1265 snprintf(buf, sizeof(buf), "statusbar: %s\r\nscrollbar: %s\r\n", 1206 boolopt[global_settings.statusbar],
1266 boolopt[global_settings.statusbar], 1207 boolopt[global_settings.scrollbar]);
1267 boolopt[global_settings.scrollbar]);
1268 write(fd, buf, strlen(buf));
1269 }
1270 1208
1271 { 1209 {
1272 static char* options[] = {"graphic", "numeric"}; 1210 static char* options[] = {"graphic", "numeric"};
1273 snprintf(buf, sizeof(buf), 1211 fprintf(fd, "volume display: %s\r\nbattery display: %s\r\n",
1274 "volume display: %s\r\nbattery display: %s\r\n", 1212 options[global_settings.volume_type],
1275 options[global_settings.volume_type], 1213 options[global_settings.battery_type]);
1276 options[global_settings.battery_type]);
1277 write(fd, buf, strlen(buf));
1278 } 1214 }
1279#endif 1215#endif
1280 1216
1281 snprintf(buf, sizeof(buf), "scroll speed: %d\r\nscroll delay: %d\r\n", 1217 fprintf(fd, "scroll speed: %d\r\nscroll delay: %d\r\n",
1282 global_settings.scroll_speed, 1218 global_settings.scroll_speed,
1283 global_settings.scroll_delay); 1219 global_settings.scroll_delay);
1284 write(fd, buf, strlen(buf));
1285 1220
1286#ifdef HAVE_LCD_BITMAP 1221#ifdef HAVE_LCD_BITMAP
1287 snprintf(buf, sizeof(buf), "scroll step: %d\r\n", 1222 fprintf(fd, "scroll step: %d\r\n", global_settings.scroll_step);
1288 global_settings.scroll_step);
1289 write(fd, buf, strlen(buf));
1290#endif 1223#endif
1291 1224
1292 snprintf(buf, sizeof(buf), "bidir limit: %d\r\n", 1225 fprintf(fd, "bidir limit: %d\r\n", global_settings.bidir_limit);
1293 global_settings.bidir_limit);
1294 write(fd, buf, strlen(buf));
1295 1226
1296 { 1227 {
1297 static char* options[] = 1228 static char* options[] =
1298 {"off","on","1","2","3","4","5","6","7","8","9", 1229 {"off","on","1","2","3","4","5","6","7","8","9",
1299 "10","15","20","25","30","45","60","90"}; 1230 "10","15","20","25","30","45","60","90"};
1300 snprintf(buf, sizeof(buf), "backlight timeout: %s\r\n", 1231 fprintf(fd, "backlight timeout: %s\r\n",
1301 options[global_settings.backlight_timeout]); 1232 options[global_settings.backlight_timeout]);
1302 write(fd, buf, strlen(buf));
1303 } 1233 }
1304 1234
1305 { 1235 fprintf(fd, "backlight when plugged: %s\r\n",
1306 snprintf(buf, sizeof(buf), "backlight when plugged: %s\r\n", 1236 boolopt[global_settings.backlight_on_when_charging]);
1307 boolopt[global_settings.backlight_on_when_charging]);
1308 write(fd, buf, strlen(buf));
1309 }
1310 1237
1311 { 1238 fprintf(fd, "caption backlight: %s\r\n",
1312 snprintf(buf, sizeof(buf), "caption backlight: %s\r\n", 1239 boolopt[global_settings.caption_backlight]);
1313 boolopt[global_settings.caption_backlight]);
1314 write(fd, buf, strlen(buf));
1315 }
1316 1240
1317 { 1241 {
1318 static char* options[] = {"off","on"}; 1242 static char* options[] = {"off","on"};
1319 snprintf(buf, sizeof(buf), "caption backlight: %s\r\n", 1243 fprintf(fd, "caption backlight: %s\r\n",
1320 options[global_settings.caption_backlight]); 1244 options[global_settings.caption_backlight]);
1321 write(fd, buf, strlen(buf));
1322 } 1245 }
1323 1246
1324 snprintf(buf, sizeof(buf), "contrast: %d\r\n", global_settings.contrast); 1247 fprintf(fd, "contrast: %d\r\n", global_settings.contrast);
1325 write(fd, buf, strlen(buf));
1326 1248
1327#ifdef HAVE_LCD_BITMAP 1249#ifdef HAVE_LCD_BITMAP
1328 { 1250 fprintf(fd, "invert: %s\r\n", boolopt[global_settings.invert]);
1329 snprintf(buf, sizeof(buf), "invert: %s\r\n", 1251
1330 boolopt[global_settings.invert]); 1252 fprintf(fd, "invert cursor: %s\r\n",
1331 write(fd, buf, strlen(buf)); 1253 boolopt[global_settings.invert_cursor]);
1332
1333 snprintf(buf, sizeof(buf), "invert cursor: %s\r\n",
1334 boolopt[global_settings.invert_cursor]);
1335 write(fd, buf, strlen(buf));
1336 }
1337 1254
1338 snprintf(buf, sizeof(buf), "peak meter release: %d\r\n", 1255 fprintf(fd, "peak meter release: %d\r\n",
1339 global_settings.peak_meter_release); 1256 global_settings.peak_meter_release);
1340 write(fd, buf, strlen(buf));
1341 1257
1342 { 1258 {
1343 static char* options[] = 1259 static char* options[] =
1344 {"off","200ms","300ms","500ms","1","2","3","4","5", 1260 {"off","200ms","300ms","500ms","1","2","3","4","5",
1345 "6","7","8","9","10","15","20","30","1min"}; 1261 "6","7","8","9","10","15","20","30","1min"};
1346 snprintf(buf, sizeof(buf), "peak meter hold: %s\r\n", 1262 fprintf(fd, "peak meter hold: %s\r\n",
1347 options[global_settings.peak_meter_hold]); 1263 options[global_settings.peak_meter_hold]);
1348 write(fd, buf, strlen(buf));
1349 } 1264 }
1350 1265
1351 { 1266 {
1352 static char* options[] = 1267 static char* options[] =
1353 {"on","1","2","3","4","5","6","7","8","9","10","15","20","25","30", 1268 {"on","1","2","3","4","5","6","7","8","9","10","15","20","25","30",
1354 "45","60","90","2min","3min","5min","10min","20min","45min","90min"}; 1269 "45","60","90","2min","3min","5min","10min","20min","45min","90min"};
1355 snprintf(buf, sizeof(buf), "peak meter clip hold: %s\r\n", 1270 fprintf(fd, "peak meter clip hold: %s\r\n",
1356 options[global_settings.peak_meter_clip_hold]); 1271 options[global_settings.peak_meter_clip_hold]);
1357 write(fd, buf, strlen(buf));
1358 } 1272 }
1359 1273
1360 { 1274 fprintf(fd, "peak meter busy: %s\r\npeak meter dbfs: %s\r\n",
1361 snprintf(buf, sizeof(buf), 1275 boolopt[global_settings.peak_meter_performance],
1362 "peak meter busy: %s\r\npeak meter dbfs: %s\r\n", 1276 boolopt[global_settings.peak_meter_dbfs]);
1363 boolopt[global_settings.peak_meter_performance],
1364 boolopt[global_settings.peak_meter_dbfs]);
1365 write(fd, buf, strlen(buf));
1366 }
1367 1277
1368 snprintf(buf, sizeof(buf), "peak meter min: %d\r\npeak meter max: %d\r\n", 1278 fprintf(fd, "peak meter min: %d\r\npeak meter max: %d\r\n",
1369 global_settings.peak_meter_min, 1279 global_settings.peak_meter_min,
1370 global_settings.peak_meter_max); 1280 global_settings.peak_meter_max);
1371 write(fd, buf, strlen(buf));
1372#endif 1281#endif
1373 1282
1374 snprintf(buf, sizeof(buf), "#\r\n# System\r\n#\r\ndisk spindown: %d\r\n", 1283 fprintf(fd, "#\r\n# System\r\n#\r\ndisk spindown: %d\r\n",
1375 global_settings.disk_spindown); 1284 global_settings.disk_spindown);
1376 write(fd, buf, strlen(buf));
1377 1285
1378#ifdef HAVE_ATA_POWER_OFF 1286#ifdef HAVE_ATA_POWER_OFF
1379 { 1287 fprintf(fd, "disk poweroff: %s\r\n",
1380 snprintf(buf, sizeof(buf), "disk poweroff: %s\r\n", 1288 boolopt[global_settings.disk_poweroff]);
1381 boolopt[global_settings.disk_poweroff]);
1382 write(fd, buf, strlen(buf));
1383 }
1384#endif 1289#endif
1385 1290
1386 snprintf(buf, sizeof(buf), "battery capacity: %d\r\n", 1291 fprintf(fd, "battery capacity: %d\r\n", global_settings.battery_capacity);
1387 global_settings.battery_capacity);
1388 write(fd, buf, strlen(buf));
1389 1292
1390#ifdef HAVE_CHARGE_CTRL 1293#ifdef HAVE_CHARGE_CTRL
1391 { 1294 fprintf(fd, "deep discharge: %s\r\ntrickle charge: %s\r\n",
1392 snprintf(buf, sizeof(buf), 1295 boolopt[global_settings.discharge],
1393 "deep discharge: %s\r\ntrickle charge: %s\r\n", 1296 boolopt[global_settings.trickle_charge]);
1394 boolopt[global_settings.discharge],
1395 boolopt[global_settings.trickle_charge]);
1396 write(fd, buf, strlen(buf));
1397 }
1398#endif 1297#endif
1399 1298
1400#ifdef HAVE_LCD_BITMAP 1299#ifdef HAVE_LCD_BITMAP
1401 { 1300 {
1402 static char* options[] = {"24hour", "12hour"}; 1301 static char* options[] = {"24hour", "12hour"};
1403 snprintf(buf, sizeof(buf), "time format: %s\r\n", 1302 fprintf(fd, "time format: %s\r\n",
1404 options[global_settings.timeformat]); 1303 options[global_settings.timeformat]);
1405 write(fd, buf, strlen(buf));
1406 } 1304 }
1407#endif 1305#endif
1408 1306
@@ -1410,52 +1308,39 @@ bool settings_save_config(void)
1410 static char* options[] = 1308 static char* options[] =
1411 {"off","1","2","3","4","5","6","7","8", 1309 {"off","1","2","3","4","5","6","7","8",
1412 "9","10","15","30","45","60"}; 1310 "9","10","15","30","45","60"};
1413 snprintf(buf, sizeof(buf), "idle poweroff: %s\r\n", 1311 fprintf(fd, "idle poweroff: %s\r\n",
1414 options[global_settings.poweroff]); 1312 options[global_settings.poweroff]);
1415 write(fd, buf, strlen(buf));
1416 } 1313 }
1417 1314
1418#ifdef HAVE_MAS3587F 1315#ifdef HAVE_MAS3587F
1419 snprintf(buf, sizeof(buf), "#\r\n# Recording\r\n#\r\n"); 1316 fprintf(fd, "#\r\n# Recording\r\n#\r\n");
1420 write(fd, buf, strlen(buf)); 1317 fprintf(fd, "rec quality: %d\r\n", global_settings.rec_quality);
1421 1318
1422 snprintf(buf, sizeof(buf), "rec quality: %d\r\n",
1423 global_settings.rec_quality);
1424 write(fd, buf, strlen(buf));
1425
1426 { 1319 {
1427 static char* options[] = {"44", "48", "32", "22", "24", "16"}; 1320 static char* options[] = {"44", "48", "32", "22", "24", "16"};
1428 snprintf(buf, sizeof(buf), "rec frequency: %s\r\n", 1321 fprintf(fd, "rec frequency: %s\r\n",
1429 options[global_settings.rec_frequency]); 1322 options[global_settings.rec_frequency]);
1430 write(fd, buf, strlen(buf));
1431 } 1323 }
1432 1324
1433 { 1325 {
1434 static char* options[] = {"mic", "line", "spdif"}; 1326 static char* options[] = {"mic", "line", "spdif"};
1435 snprintf(buf, sizeof(buf), "rec source: %s\r\n", 1327 fprintf(fd, "rec source: %s\r\n", options[global_settings.rec_source]);
1436 options[global_settings.rec_source]);
1437 write(fd, buf, strlen(buf));
1438 } 1328 }
1439 1329
1440 { 1330 {
1441 static char* options[] = {"stereo", "mono"}; 1331 static char* options[] = {"stereo", "mono"};
1442 snprintf(buf, sizeof(buf), "rec channels: %s\r\n", 1332 fprintf(fd, "rec channels: %s\r\n",
1443 options[global_settings.rec_channels]); 1333 options[global_settings.rec_channels]);
1444 write(fd, buf, strlen(buf));
1445 } 1334 }
1446 1335
1447 snprintf(buf, sizeof(buf), 1336 fprintf(fd,
1448 "rec mic gain: %d\r\nrec left gain: %d\r\nrec right gain: %d\r\n", 1337 "rec mic gain: %d\r\nrec left gain: %d\r\nrec right gain: %d\r\n",
1449 global_settings.rec_mic_gain, 1338 global_settings.rec_mic_gain,
1450 global_settings.rec_left_gain, 1339 global_settings.rec_left_gain,
1451 global_settings.rec_right_gain); 1340 global_settings.rec_right_gain);
1452 write(fd, buf, strlen(buf));
1453 1341
1454 { 1342 fprintf(fd, "editable recordings: %s\r\n",
1455 snprintf(buf, sizeof(buf), "editable recordings: %s\r\n", 1343 boolopt[global_settings.rec_editable]);
1456 boolopt[global_settings.rec_editable]);
1457 write(fd, buf, strlen(buf));
1458 }
1459 1344
1460#endif 1345#endif
1461 close(fd); 1346 close(fd);