aboutsummaryrefslogtreecommitdiff
path: root/src/guile.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org>2015-11-05 23:20:23 +0200
committerSergey Poznyakoff <gray@gnu.org>2015-11-05 23:20:23 +0200
commit6f8dc538dab2a9284802b63e80fd4f03bb0dff34 (patch)
tree387372a6dc1c8e04aa81e19b19820c8d75351f67 /src/guile.c
parent353839b7a29a53aa754b98b02ede449c737a873a (diff)
downloadidest-6f8dc538dab2a9284802b63e80fd4f03bb0dff34.tar.gz
idest-6f8dc538dab2a9284802b63e80fd4f03bb0dff34.tar.bz2
Bugfixes.
1. Fix --convert option so it can be used to remove unnecessary ID3 formats (e.g. --convert=2). 2. Fix processing of unknown frames in Guile code. 3. Fix setpic and pic modules. * scheme/idest/batch/setpic.scm (read-picture): Use binary i/o. * scheme/idest/format/pic.scm (save-picture): Likewise. * scheme/idest/list-modules.scm: Minor changes. * src/frametab.gperf (frame_field_from_rawdata): New function. * src/getopt.m4: Update copyright years. * src/guile.c (set_frame_from_rawdata): Use frame_field_from_rawdata. * src/idest.h (frame_field_from_rawdata): New proto. * src/idop.c (set_tag_options): Always call id3_tag_options.
Diffstat (limited to 'src/guile.c')
-rw-r--r--src/guile.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/guile.c b/src/guile.c
index e59b49c..7fe052f 100644
--- a/src/guile.c
+++ b/src/guile.c
@@ -1,5 +1,5 @@
/* This file is part of Idest.
- Copyright (C) 2009-2011 Sergey Poznyakoff
+ Copyright (C) 2009-2011, 2015 Sergey Poznyakoff
Idest is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -383,9 +383,11 @@ set_frame_from_rawdata(struct id3_frame *frame, SCM list)
for (; !scm_is_null(list); list = SCM_CDR(list)) {
SCM cell = SCM_CAR(list);
int n = scm_to_int(SCM_CAR(cell));
- int rc;
+ int type = scm_to_int(SCM_CAR(SCM_CDR(cell)));
char *value = scm_to_locale_string(SCM_CAR(SCM_CDR(SCM_CDR(cell))));
- rc = frame_field_from_string(frame, n, value);
+ int rc;
+
+ rc = frame_field_from_rawdata(frame, n, type, value);
free(value);
if (rc)
return rc;
@@ -420,11 +422,11 @@ scm_to_tag(SCM scm, struct id3_tag *tag)
scm_list_1(elt));
id = scm_to_locale_string(x);
- frametype = id3_frametype_lookup(id, strlen(id));
- if (!frametype)
- idest_guile_error("guile-transform",
- id, SCM_BOOL_F,
- IDEST_ERR_BADTYPE);
+ /* frametype = id3_frametype_lookup(id, strlen(id)); */
+ /* if (!frametype) */
+ /* idest_guile_error("guile-transform", */
+ /* id, SCM_BOOL_F, */
+ /* IDEST_ERR_BADTYPE); */
ed_item_zero(&itm);
memcpy(itm.id, id, sizeof(itm.id));

Return to:

Send suggestions and report system problems to the System administrator.