55 |
|
|
56 |
/* detection des media */ |
/* detection des media */ |
57 |
#define CDRDAO_CDRW "CD-RW" |
#define CDRDAO_CDRW "CD-RW" |
58 |
#define CDRDAO_YES "yes" |
#define CDRDAO_YES ": yes" |
59 |
|
#define CDRDAO_NO ": no" |
60 |
#define CDRDAO_CDR "CD-R medium" |
#define CDRDAO_CDR "CD-R medium" |
61 |
#define CDRDAO_EMPTY "CD-R empty" |
#define CDRDAO_EMPTY "CD-R empty" |
62 |
|
#define CDRDAO_APPENDABLE "Appendable" |
63 |
|
|
64 |
static gchar *get_blank_type(Tgrave *Ag) |
static gchar *get_blank_type(Tgrave *Ag) |
65 |
{ |
{ |
478 |
|
|
479 |
g_snprintf(Lcommandline, sizeof(Lcommandline)-1, "%s disk-info --device %s", conf_get_string("cdrdao"), Adevice); |
g_snprintf(Lcommandline, sizeof(Lcommandline)-1, "%s disk-info --device %s", conf_get_string("cdrdao"), Adevice); |
480 |
|
|
481 |
|
printf("cmd %s\n", Lcommandline); |
482 |
Lstatus = g_spawn_command_line_sync(Lcommandline, &Lout, &Lerr, &Lexit, Aerror); |
Lstatus = g_spawn_command_line_sync(Lcommandline, &Lout, &Lerr, &Lexit, Aerror); |
483 |
|
|
484 |
|
printf("apres => %d\n%s\n", Lstatus, Lout); |
485 |
if (Lstatus == FALSE || Lexit != 0) { |
if (Lstatus == FALSE || Lexit != 0) { |
486 |
g_free(Lout); g_free(Lerr); |
g_free(Lout); g_free(Lerr); |
487 |
return FALSE; |
return 0; |
488 |
} |
} |
489 |
|
|
490 |
Larrbuf = g_strsplit(Lout, "\n", 0); |
Larrbuf = g_strsplit(Lout, "\n", 0); |
491 |
|
|
492 |
for (i=0; Larrbuf[i]; i++) { |
for (i=0; Larrbuf[i]; i++) { |
493 |
if (!*Larrbuf[i]) continue; |
if (!*Larrbuf[i]) continue; |
|
|
|
494 |
if (!strncmp(Larrbuf[i], CDRDAO_CDRW, strlen(CDRDAO_CDRW))) { |
if (!strncmp(Larrbuf[i], CDRDAO_CDRW, strlen(CDRDAO_CDRW))) { |
495 |
if (strstr(Larrbuf[i], CDRDAO_YES)) { |
if (strstr(Larrbuf[i], CDRDAO_YES)) { |
496 |
printf("ok c'est un CDRW ! \n"); |
Llu += _MEDIA_CDRW; |
|
Llu |= _MEDIA_CDRW; |
|
497 |
} |
} |
498 |
} else if (!strncmp(Larrbuf[i], CDRDAO_CDR, strlen(CDRDAO_CDR))) { |
} else if (!strncmp(Larrbuf[i], CDRDAO_CDR, strlen(CDRDAO_CDR))) { |
499 |
if (strstr(Larrbuf[i], CDRDAO_YES)) { |
if (!strstr(Larrbuf[i], CDRDAO_NO)) { |
500 |
printf("ok c'est un CDR ! \n"); |
Llu += _MEDIA_CDR; |
|
Llu |= _MEDIA_CDR; |
|
501 |
} |
} |
502 |
} else if (!strncmp(Larrbuf[i], CDRDAO_EMPTY, strlen(CDRDAO_EMPTY))) { |
} else if (!strncmp(Larrbuf[i], CDRDAO_EMPTY, strlen(CDRDAO_EMPTY))) { |
503 |
if (strstr(Larrbuf[i], CDRDAO_YES)) Llu &= _MEDIA_BLANK; |
if (strstr(Larrbuf[i], CDRDAO_YES)) { |
504 |
|
Llu += _MEDIA_BLANK; |
505 |
|
} else { |
506 |
|
Llu += _MEDIA_NOBLANK; |
507 |
|
} |
508 |
|
} else if (!strncmp(Larrbuf[i], CDRDAO_APPENDABLE, strlen(CDRDAO_APPENDABLE))) { |
509 |
|
if (!strstr(Larrbuf[i], CDRDAO_NO)) { |
510 |
|
Llu += _MEDIA_APPENDABLE; |
511 |
|
} |
512 |
} |
} |
513 |
} |
} |
514 |
|
|