Including <cerrno> instead of <errno.h>, does it upset POSIX?

Ahmad Samir a.samirh78 at gmail.com
Thu Apr 15 21:15:39 BST 2021


On 14/04/2021 22:20, Albert Astals Cid wrote:
> El dimecres, 14 d’abril de 2021, a les 15:13:09 (CEST), Ahmad Samir va escriure:
>> Hello :)
>>
>> A week or so ago I created an MR to include <cerrno> instead of <errno.h> in KIO[1].
>>
>>   From /usr/include/c++/10/cerrno:
>> /** @file cerrno
>>    *  This is a Standard C++ Library file.  You should @c \#include this file
>>    *  in your programs, rather than any of the @a *.h implementation files.
>>    *
>>    *  This is the C++ version of the Standard C Library header @c errno.h,
>>    *  and its contents are (mostly) the same as that header, but are all
>>    *  contained in the namespace @c std (except for names which are defined
>>    *  as macros in C).
>>    */
>>
>>
>> And then I made similar commits to a lot of the other Frameworks (not all, since the build failed
>> for some of them, so I left them alone).
> 
> I honestly didn't think this would be a problem, but you say the build of some of them failed, so i guess it is :D
> 
> Could you link to the particular MR's that failed?
> 

I created one MR for KIO, once that was reviewed, I then applied similar patches to the other 
Frameworks directly.

Fortunately, it's easy to find which ones weren't changed, grep/rg; (I excluded frameworks that are 
going to be deprecated, kdelibs4support and kjs):

karchive/autotests/karchivetest.cpp:28:#include <errno.h>
karchive/src/karchive.cpp:23:#include <errno.h>

kdesu/src/kdesu_stub.c:31:#include <errno.h> (this is C code (guessing since I don't know C), so it 
makes sense to leave that one in)

kholidays/src/parsers/plan2/holidayscannerplan.cpp:1313:# include <errno.h>
kholidays/src/parsers/plan2/holidayscannerplan.lpp:17:# include <errno.h>

kinit/src/kdeinit/kinit.cpp:24:#include <errno.h>
kinit/src/kdeinit/kinit_mac.mm:25:#include <errno.h>
kinit/src/kdeinit/kinit_win.cpp:15:#include <errno.h>
kinit/src/klauncher/klauncher.cpp:21:#include <errno.h>
kinit/src/start_kdeinit/start_kdeinit.c:12:#include <errno.h>
kinit/src/wrapper.cpp:23:#include <errno.h>

ktexteditor/src/buffer/katesecuretextbuffer.cpp:12:#include <errno.h>
ktexteditor/src/buffer/katetextbuffer.cpp:20:#include <errno.h>


> Cheers,
>    Albert
> 


-- 
Ahmad Samir


More information about the Kde-frameworks-devel mailing list