~ubuntu-branches/ubuntu/wily/easytag/wily

« back to all changes in this revision

Viewing changes to src/libapetag/apetaglib.c

  • Committer: Package Import Robot
  • Author(s): Alessio Treglia
  • Date: 2013-10-11 17:07:47 UTC
  • mto: (8.1.4 sid)
  • mto: This revision was merged to the branch mainline in revision 14.
  • Revision ID: package-import@ubuntu.com-20131011170747-uqvgtx7uyd046j7z
Tags: upstream-2.1.8
Import upstream version 2.1.8

Show diffs side-by-side

added added

removed removed

Lines of Context:
34
34
#endif
35
35
#include "apetaglib.h"
36
36
#include "../genres.h"
 
37
#include "../win32/win32dep.h"
37
38
 
38
39
#include "is_tag.h"
39
40
#ifdef ID3V2_READ
125
126
 
126
127
 
127
128
/*
128
 
    PL: funkcja troszczaca sie o odpowiedni� ilosc zalokowanej pamieci dla tablicy 
 
129
    PL: funkcja troszczaca sie o odpowiednią ilosc zalokowanej pamieci dla tablicy
129
130
    PL: %mTag% przy okazji alokuje z wyprzedzeniem troche wiecej pamieci [mniej %realoc%]
130
131
    PL: zwraca %mTag[]%
131
132
    :NON_USER:!!!
179
180
 
180
181
/*
181
182
    PL: alocuje pamiec dla %mTag% przypisuje odpowiednio wartosci 
182
 
    PL: dodaje %\0% do string�w [na wszelki wypadek]
 
183
    PL: dodaje %\0% do stringów [na wszelki wypadek]
183
184
    PL: nie dopisuje takich samych 
184
185
    PL: wszystkie sizy maja byc bez \0 (jak bedzie to doliczy jeszcze jeden)
185
186
    :NON_USER:!!!
232
233
/*
233
234
    PL: jezeli nie istnieje to dodaje taga, pomija ostatnie biale znaki 
234
235
    PL: pomija jesli pusty 
235
 
    PL: ! zmienia tekst wej�ciowy
 
236
    PL: ! zmienia tekst wejściowy
236
237
    :NON_USER:!!!
237
238
*/
238
239
int
332
333
/*
333
334
    PL: wyszukuje taga o nazwie %name% i zwraca structure %struct tag%
334
335
    PL: %APE_TAG_LIB_FIRST% i %APE_TAG_LIB_NEXT% to ulatwienie dla 
335
 
    PL: przesukiwania wszystkich istniejacych tag�w 
336
 
    PL: %APE_TAG_LIB_FIRST% ustawia znacznik na pierwszy tag [0] i zwraca jego warto��
 
336
    PL: przesukiwania wszystkich istniejacych tagów
 
337
    PL: %APE_TAG_LIB_FIRST% ustawia znacznik na pierwszy tag [0] i zwraca jego wartość
337
338
    PL: %APE_TAG_LIB_NEXT% podaje nastepny tag i zwieksza znacznik, po ostatnim funkcja zwraca %NULL%
338
339
    PL: UWAGA!!! zwraca pointer do wewnetrznej struktury 
339
340
    PL: niczego nie zmieniac i nie free()-jowac skopiowac i dopiero 
466
467
}
467
468
/*
468
469
    PL: tak jakby frejuje framke oznacza do kasacji jednak tego nie robi
469
 
    PL: mechanizm ten g�ownie jest wykorzystywany do wczytania innych tag�w
470
 
    PL: poza wczesniej zkasowanymi aby to usun�c uzyj apefrm_remove_real
 
470
    PL: mechanizm ten głownie jest wykorzystywany do wczytania innych tagów
 
471
    PL: poza wczesniej zkasowanymi aby to usunąc uzyj apefrm_remove_real
471
472
*/
472
473
/**
473
474
    \brief set frame to remove
534
535
}
535
536
 
536
537
/*
537
 
    PL: alokuje pamiec dla gl�wnej struktury %struct ape_mem_cnt% 
 
538
    PL: alokuje pamiec dla glównej struktury %struct ape_mem_cnt%
538
539
    PL: i zeruje wszystko co trzeba 
539
540
    PL: z jakiegos powodu (mojej niewiedzy) memset nie dziala 
540
541
    PL: a w sumie dziala czyszczac troche za duzo 
564
565
 
565
566
/*
566
567
    PL: Czysci z sila wodospadu wszystko co zostalo do czyszczenia
567
 
    PL: z %struct ape_mem_cnt% wlacznie, wcze�niej to nie by�o jasne
 
568
    PL: z %struct ape_mem_cnt% wlacznie, wcześniej to nie było jasne
568
569
*/
569
570
/**
570
571
    \brief free all work 
864
865
        return -1;
865
866
}
866
867
 
867
 
#ifdef USE_CHSIZE
868
 
#include <fcntl.h>
869
 
#include <sys/stat.h>
870
 
#include <io.h>
871
 
/* on winblows we don't have truncate (and ftruncate) but have chsize() */
872
 
void
873
 
truncate (char *filename, size_t fileSize)
874
 
{
875
 
    int handle;
876
 
 
877
 
    handle = open (filename, O_RDWR | O_CREAT,
878
 
            S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP);
879
 
    if (handle != -1) {
880
 
        if (chsize (handle, fileSize) != 0) {
881
 
            PRINT_ERR ("Error truncatng file\n");
882
 
        }
883
 
        close (handle);
884
 
    }
885
 
 
886
 
}
887
 
 
888
 
#endif
889
 
 
890
868
/*
891
869
    PL: domyslne %flag% = APE_TAG_V2 + SAVE_NEW_OLD_APE_TAG
892
870
*/
918
896
    struct tag **mTag;
919
897
    size_t tagSSize = 32;
920
898
    int n;
921
 
    char temp[4];
 
899
    unsigned char temp[4];
922
900
    
923
901
    if (mem_cnt==NULL) {
924
902
        PRINT_ERR("ERROR->apetaglib>apetag_save::apetag_init()\n");
1047
1025
                return ATL_FWRITE;
1048
1026
            }
1049
1027
            fseek (fp, newFileSize, SEEK_SET);
1050
 
            PRINT_D4 (">apetaglib>SAVE>> write:%i == tag:%i file: %i->%i\n",
 
1028
            PRINT_D4 (">apetaglib>SAVE>> write:%zu == tag:%zu file: %zu->%zu\n",
1051
1029
                writedBytes, tagSSize + (saveApe2 ? 32 : 0), fileSize, newFileSize);
1052
1030
        } else {
1053
1031
            newFileSize = (fileSize - skipBytes);