.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 2006, Justin Pryzby .\" Copyright 2006, Michael Kerrisk .\" Copyright, the authors of the Linux man-pages project .\" .\" %%%LICENSE_START(PERMISSIVE_MISC) .\" Permission is hereby granted, free of charge, to any person obtaining .\" a copy of this software and associated documentation files (the .\" "Software"), to deal in the Software without restriction, including .\" without limitation the rights to use, copy, modify, merge, publish, .\" distribute, sublicense, and/or sell copies of the Software, and to .\" permit persons to whom the Software is furnished to do so, subject to .\" the following conditions: .\" .\" The above copyright notice and this permission notice shall be .\" included in all copies or substantial portions of the Software. .\" .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, .\" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. .\" IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY .\" CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, .\" TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE .\" SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. .\" %%%LICENSE_END .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH error 3 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم error, error_at_line, error_message_count, error_one_per_line, error_print_progname \- دوال الإبلاغ عن الأخطاء في glibc .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP .P \fBvoid error(int \fP\fIstatus\fP\fB, int \fP\fIerrnum\fP\fB, const char *\fP\fIformat\fP\fB, ...);\fP \fBvoid error_at_line(int \fP\fIstatus\fP\fB, int \fP\fIerrnum\fP\fB, const char *\fP\fIfile\fP\fB,\fP \fB unsigned int \fP\fIline\fP\fB, const char *\fP\fIformat\fP\fB, ...);\fP .P \fBextern unsigned int \fP\fIerror_message_count\fP\fB;\fP \fBextern int \fP\fIerror_one_per_line\fP\fB;\fP .P \fBextern typeof(void (void)) *\fP\fIerror_print_progname\fP\fB;\fP .fi .SH الوصف \fBerror\fP() دالة عامة للإبلاغ عن الأخطاء. تُفرغ \fIstdout\fP، ثم تُخرج إلى \fIstderr\fP اسم البرنامج، ونقطتين رأسيتين ومسافة، والرسالة المحددة بواسطة سلسلة التنسيق بنمط \fBprintf\fP(3) \fIformat\fP، وإذا كان \fIerrnum\fP غير صفري، نقطتين رأسيتين ومسافة ثانية متبوعة بالسلسلة المعطاة بواسطة \fIstrerror(errnum)\fP. أي وسائط مطلوبة لـ \fIformat\fP يجب أن تتبع \fIformat\fP في قائمة الوسائط. يُنهى الإخراج بحرف سطر جديد. .P اسم البرنامج المطبوع بواسطة \fBerror\fP() هو قيمة المتغير العام \fBprogram_invocation_name\fP(3). \fIprogram_invocation_name\fP له في البداية نفس قيمة \fIargv[0]\fP للدالة \fImain\fP(). يمكن تعديل قيمة هذا المتغير لتغيير مخرجات \fBerror\fP(). .P إذا كان \fIstatus\fP له قيمة غير صفرية، فإن \fBerror\fP() تستدعي \fBexit\fP(3) لإنهاء البرنامج باستخدام القيمة المعطاة كحالة خروج؛ وإلا فإنها تعود بعد طباعة رسالة الخطأ. .P الدالة \fBerror_at_line\fP() هي نفسها تمامًا \fBerror\fP()، باستثناء إضافة الوسيطتين \fIfile\fP و \fIline\fP. المخرجات المنتجة هي كما في \fBerror\fP()، باستثناء أنه بعد اسم البرنامج يُكتب: نقطتان رأسيتان، قيمة \fIfile\fP، نقطتان رأسيتان، وقيمة \fIline\fP. قد تكون قيم المعالج الأولي \fB__LINE__\fP و \fB__FILE__\fP مفيدة عند استدعاء \fBerror_at_line\fP()، ولكن يمكن استخدام قيم أخرى أيضًا. على سبيل المثال، يمكن أن تشير هذه الوسائط إلى موقع في ملف إدخال. .P إذا تم تعيين المتغير العام \fIerror_one_per_line\fP إلى قيمة غير صفرية، فإن سلسلة من استدعاءات \fBerror_at_line\fP() بنفس قيمة \fIfile\fP و \fIline\fP ستؤدي إلى إخراج رسالة واحدة فقط (الأولى). .P المتغير العام \fIerror_message_count\fP يعد عدد الرسائل التي تم إخراجها بواسطة \fBerror\fP() و \fBerror_at_line\fP(). .P إذا تم تعيين المتغير العام \fIerror_print_progname\fP إلى عنوان دالة (أي ليس NULL)، فسيتم استدعاء تلك الدالة بدلاً من بادئة الرسالة باسم البرنامج والنقطتين الرأسيتين. يجب على الدالة طباعة سلسلة محارف مناسبة إلى \fIstderr\fP. .SH السمات للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر \fBattributes\fP(7). .TS allbox; lb lb lbx l l l. الواجهة السمة القيمة T{ .na .nh \fBerror\fP() T} سلامة الخيوط المنطقة (locale) آمنة لتعدد المسالك (MT\-Safe) T{ .na .nh \fBerror_at_line\fP() T} سلامة الخيوط T{ .na .nh MT\-Unsafe\ race: error_at_line/\:error_one_per_line locale T} .TE .P يتم الوصول إلى المتغير الداخلي \fIerror_one_per_line\fP (بدون أي شكل من أشكال التزامن، ولكن نظرًا لأنه \fIint\fP يُستخدم مرة واحدة، يجب أن يكون آمنًا بما فيه الكفاية)، وإذا تم تعيين \fIerror_one_per_line\fP إلى قيمة غير صفرية، يتم الوصول إلى المتغيرات الثابتة الداخلية (غير المكشوفة للمستخدمين) المستخدمة لحفظ آخر اسم ملف ورقم سطر مطبوعين وتعديلها بدون تزامن؛ التحديث ليس ذريًا ويحدث قبل تعطيل الإلغاء، لذلك يمكن مقاطعته فقط بعد تعديل أحد المتغيرين. بعد ذلك، \fBerror_at_line\fP() تشبه إلى حد كبير \fBerror\fP(). .SH المعايير GNU. .SH "انظر أيضًا" \fBerr\fP(3), \fBerrno\fP(3), \fBexit\fP(3), \fBperror\fP(3), \fBprogram_invocation_name\fP(3), \fBstrerror\fP(3) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .