equal
deleted
inserted
replaced
464 PyErr_NoMemory(); |
464 PyErr_NoMemory(); |
465 return -1; |
465 return -1; |
466 } |
466 } |
467 memcpy(dest, path, plen + 1); |
467 memcpy(dest, path, plen + 1); |
468 for (i = 0; i < 20; i++) { |
468 for (i = 0; i < 20; i++) { |
469 sprintf(dest + plen + 1 + (i * 2), "%02hhx", hash[i]); |
469 /* Cast to unsigned, so it will not get sign-extended when promoted |
|
470 * to int (as is done when passing to a variadic function) |
|
471 */ |
|
472 sprintf(dest + plen + 1 + (i * 2), "%02x", (unsigned char)hash[i]); |
470 } |
473 } |
471 memcpy(dest + plen + 41, flags, flen); |
474 memcpy(dest + plen + 41, flags, flen); |
472 dest[plen + 41 + flen] = '\n'; |
475 dest[plen + 41 + flen] = '\n'; |
473 new.start = dest; |
476 new.start = dest; |
474 new.len = dlen; |
477 new.len = dlen; |