33#include "common/printing.h"
44
55#include <limits.h>
6+ #include <math.h>
67
78#ifdef __APPLE__
89 #include <sys/syslimits.h>
@@ -184,12 +185,6 @@ static inline bool checkAllocationResult(void* data, size_t length)
184185 return true;
185186}
186187
187- static inline uint32_t simpleCeil (double value )
188- {
189- uint32_t result = (uint32_t ) value ;
190- return value == (double ) result ? result : result + 1 ;
191- }
192-
193188static void writeCacheStrbuf (FFLogoRequestData * requestData , const FFstrbuf * value , const char * cacheFileName )
194189{
195190 uint32_t cacheDirLength = requestData -> cacheDir .length ;
@@ -463,8 +458,8 @@ FFLogoImageResult ffLogoPrintImageImpl(FFLogoRequestData* requestData, const FFI
463458 else if (requestData -> logoPixelHeight == 0 )
464459 requestData -> logoPixelHeight = (uint32_t ) ((double ) imageData .image -> rows / (double ) imageData .image -> columns * requestData -> logoPixelWidth );
465460
466- requestData -> logoCharacterWidth = simpleCeil ((double ) requestData -> logoPixelWidth / requestData -> characterPixelWidth );
467- requestData -> logoCharacterHeight = simpleCeil ((double ) requestData -> logoPixelHeight / requestData -> characterPixelHeight );
461+ requestData -> logoCharacterWidth = ( uint32_t ) ceil ((double ) requestData -> logoPixelWidth / requestData -> characterPixelWidth );
462+ requestData -> logoCharacterHeight = ( uint32_t ) ceil ((double ) requestData -> logoPixelHeight / requestData -> characterPixelHeight );
468463
469464 if (requestData -> logoPixelWidth == 0 || requestData -> logoPixelHeight == 0 || requestData -> logoCharacterWidth == 0 || requestData -> logoCharacterHeight == 0 )
470465 {
@@ -608,8 +603,7 @@ static bool printCachedPixel(FFLogoRequestData* requestData)
608603 instance .state .logoHeight = requestData -> logoCharacterHeight + instance .config .logo .paddingTop ;
609604
610605 //Go to upper left corner
611- fputs ("\033[9999999D" , stdout );
612- printf ("\033[%uA" , instance .state .logoHeight );
606+ printf ("\033[9999999D\033[%uA" , instance .state .logoHeight );
613607 return true;
614608}
615609
@@ -674,8 +668,8 @@ static bool printImageIfExistsSlowPath(FFLogoType type, bool printError)
674668 return false;
675669 }
676670
677- requestData .logoPixelWidth = simpleCeil ((double ) instance .config .logo .width * requestData .characterPixelWidth );
678- requestData .logoPixelHeight = simpleCeil ((double ) instance .config .logo .height * requestData .characterPixelHeight );
671+ requestData .logoPixelWidth = ( uint32_t ) ceil ((double ) instance .config .logo .width * requestData .characterPixelWidth );
672+ requestData .logoPixelHeight = ( uint32_t ) ceil ((double ) instance .config .logo .height * requestData .characterPixelHeight );
679673
680674 ffStrbufInit (& requestData .cacheDir );
681675 ffStrbufAppend (& requestData .cacheDir , & instance .state .platform .cacheDir );
@@ -692,11 +686,7 @@ static bool printImageIfExistsSlowPath(FFLogoType type, bool printError)
692686 }
693687 ffStrbufRecalculateLength (& requestData .cacheDir );
694688 ffStrbufEnsureEndsWithC (& requestData .cacheDir , '/' );
695-
696- ffStrbufAppendF (& requestData .cacheDir , "%u" , requestData .logoPixelWidth );
697- ffStrbufAppendC (& requestData .cacheDir , '*' );
698- ffStrbufAppendF (& requestData .cacheDir , "%u" , requestData .logoPixelHeight );
699- ffStrbufAppendC (& requestData .cacheDir , '/' );
689+ ffStrbufAppendF (& requestData .cacheDir , "%u*%u/" , requestData .logoPixelWidth , requestData .logoPixelHeight );
700690
701691 if (!instance .config .logo .recache && printCached (& requestData ))
702692 {
0 commit comments