comparison src/xs_length.c @ 385:7dc7e7dbbf90

Indentation fixes.
author Matti Hamalainen <ccr@tnsp.org>
date Sun, 22 Jan 2006 20:48:02 +0000
parents 4611f1194941
children 3c239e4160d5
comparison
equal deleted inserted replaced
384:7e35b6059d79 385:7dc7e7dbbf90
91 /* Check the field separator char */ 91 /* Check the field separator char */
92 if (pcStr[*piPos] == ':') { 92 if (pcStr[*piPos] == ':') {
93 /* Get seconds-field */ 93 /* Get seconds-field */
94 (*piPos)++; 94 (*piPos)++;
95 iTemp = 0; 95 iTemp = 0;
96 while (isdigit(pcStr[*piPos])) 96 while (isdigit(pcStr[*piPos])) {
97 iTemp = (iTemp * 10) + (pcStr[(*piPos)++] - '0'); 97 iTemp = (iTemp * 10) + (pcStr[(*piPos)++] - '0');
98 }
98 99
99 iResult += iTemp; 100 iResult += iTemp;
100 } else 101 } else
101 iResult = -2; 102 iResult = -2;
102 } else 103 } else
287 /* Compare two nodes 288 /* Compare two nodes
288 */ 289 */
289 static gint xs_sldb_cmp(const void *pNode1, const void *pNode2) 290 static gint xs_sldb_cmp(const void *pNode1, const void *pNode2)
290 { 291 {
291 /* We assume here that we never ever get NULL-pointers or similar */ 292 /* We assume here that we never ever get NULL-pointers or similar */
292 return xs_sldb_cmphash((*(t_xs_sldb_node **) pNode1)->md5Hash, (*(t_xs_sldb_node **) pNode2)->md5Hash); 293 return xs_sldb_cmphash(
294 (*(t_xs_sldb_node **) pNode1)->md5Hash,
295 (*(t_xs_sldb_node **) pNode2)->md5Hash);
293 } 296 }
294 297
295 298
296 /* (Re)create index 299 /* (Re)create index
297 */ 300 */
373 */ 376 */
374 typedef struct 377 typedef struct
375 { 378 {
376 gchar magicID[4]; /* "PSID" / "RSID" magic identifier */ 379 gchar magicID[4]; /* "PSID" / "RSID" magic identifier */
377 guint16 version, /* Version number */ 380 guint16 version, /* Version number */
378 dataOffset, /* Start of actual c64 data in file */ 381 dataOffset, /* Start of actual c64 data in file */
379 loadAddress, /* Loading address */ 382 loadAddress, /* Loading address */
380 initAddress, /* Initialization address */ 383 initAddress, /* Initialization address */
381 playAddress, /* Play one frame */ 384 playAddress, /* Play one frame */
382 nSongs, /* Number of subsongs */ 385 nSongs, /* Number of subsongs */
383 startSong; /* Default starting song */ 386 startSong; /* Default starting song */
384 guint32 speed; /* Speed */ 387 guint32 speed; /* Speed */
385 gchar sidName[32]; /* Descriptive text-fields, ASCIIZ */ 388 gchar sidName[32]; /* Descriptive text-fields, ASCIIZ */
386 gchar sidAuthor[32]; 389 gchar sidAuthor[32];
387 gchar sidCopyright[32]; 390 gchar sidCopyright[32];
388 } t_xs_psidv1_header; 391 } t_xs_psidv1_header;
441 psidH2.flags = xs_rd_be16(inFile); 444 psidH2.flags = xs_rd_be16(inFile);
442 psidH2.startPage = fgetc(inFile); 445 psidH2.startPage = fgetc(inFile);
443 psidH2.pageLength = fgetc(inFile); 446 psidH2.pageLength = fgetc(inFile);
444 psidH2.reserved = xs_rd_be16(inFile); 447 psidH2.reserved = xs_rd_be16(inFile);
445 } 448 }
449
446 #ifdef XS_BUF_DYNAMIC 450 #ifdef XS_BUF_DYNAMIC
447 /* Allocate buffer */ 451 /* Allocate buffer */
448 songData = (guint8 *) g_malloc(XS_SIDBUF_SIZE * sizeof(guint8)); 452 songData = (guint8 *) g_malloc(XS_SIDBUF_SIZE * sizeof(guint8));
449 if (!songData) { 453 if (!songData) {
450 fclose(inFile); 454 fclose(inFile);
456 iRes = fread(songData, sizeof(guint8), XS_SIDBUF_SIZE, inFile); 460 iRes = fread(songData, sizeof(guint8), XS_SIDBUF_SIZE, inFile);
457 fclose(inFile); 461 fclose(inFile);
458 462
459 /* Initialize and start MD5-hash calculation */ 463 /* Initialize and start MD5-hash calculation */
460 xs_md5_init(&inState); 464 xs_md5_init(&inState);
465
461 if (psidH.loadAddress == 0) { 466 if (psidH.loadAddress == 0) {
462 /* Strip load address (2 first bytes) */ 467 /* Strip load address (2 first bytes) */
463 xs_md5_append(&inState, &songData[2], iRes - 2); 468 xs_md5_append(&inState, &songData[2], iRes - 2);
464 } else { 469 } else {
465 /* Append "as is" */ 470 /* Append "as is" */
466 xs_md5_append(&inState, songData, iRes); 471 xs_md5_append(&inState, songData, iRes);
467 } 472 }
468 473
469
470 #ifdef XS_BUF_DYNAMIC 474 #ifdef XS_BUF_DYNAMIC
471 /* Free buffer */ 475 /* Free buffer */
472 g_free(songData); 476 g_free(songData);
473 #endif 477 #endif
474 478
475 /* Append header data to hash */ 479 /* Append header data to hash */
476 #define XSADDHASH(QDATAB) { ib8[0] = (QDATAB & 0xff); ib8[1] = (QDATAB >> 8); xs_md5_append(&inState, (guint8 *) &ib8, sizeof(ib8)); } 480 #define XSADDHASH(QDATAB) { ib8[0] = (QDATAB & 0xff); ib8[1] = (QDATAB >> 8); xs_md5_append(&inState, (guint8 *) &ib8, sizeof(ib8)); }
477 481
478 XSADDHASH(psidH.initAddress) 482 XSADDHASH(psidH.initAddress)
479 XSADDHASH(psidH.playAddress) 483 XSADDHASH(psidH.playAddress)
480 XSADDHASH(psidH.nSongs) 484 XSADDHASH(psidH.nSongs)
481 #undef XSADDHASH 485 #undef XSADDHASH
482 /* Append song speed data to hash */ 486
483 i8 = 0; 487 /* Append song speed data to hash */
488 i8 = 0;
484 for (iIndex = 0; (iIndex < psidH.nSongs) && (iIndex < 32); iIndex++) { 489 for (iIndex = 0; (iIndex < psidH.nSongs) && (iIndex < 32); iIndex++) {
485 i8 = (psidH.speed & (1 << iIndex)) ? 60 : 0; 490 i8 = (psidH.speed & (1 << iIndex)) ? 60 : 0;
486 xs_md5_append(&inState, &i8, sizeof(i8)); 491 xs_md5_append(&inState, &i8, sizeof(i8));
487 } 492 }
488 493
489 /* Rest of songs (more than 32) */ 494 /* Rest of songs (more than 32) */
490 for (iIndex = 32; iIndex < psidH.nSongs; iIndex++) { 495 for (iIndex = 32; iIndex < psidH.nSongs; iIndex++) {
491 xs_md5_append(&inState, &i8, sizeof(i8)); 496 xs_md5_append(&inState, &i8, sizeof(i8));
492 } 497 }
493
494 498
495 /* PSIDv2NG specific */ 499 /* PSIDv2NG specific */
496 if (psidH.version == 2) { 500 if (psidH.version == 2) {
497 /* SEE SIDPLAY HEADERS FOR INFO */ 501 /* SEE SIDPLAY HEADERS FOR INFO */
498 i8 = (psidH2.flags >> 2) & 3; 502 i8 = (psidH2.flags >> 2) & 3;