clearenv(3)

الاسم
clearenv - امسح البيئة

المكتبة
مكتبة سي المعيارية (libc، -lc)

موجز
#include <stdlib.h>

int clearenv(void);

    متطلبات ماكروات اختبار الميزات لـ glibc (انظر feature_test_macros(7)):

clearenv():
    /* glibc >= 2.19: */ _DEFAULT_SOURCE
        || /* glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE

الوصف
الدالة clearenv() تمسح البيئة من كل أزواج الاسم-القيمة وتضبط قيمة المتغير الخارجي environ إلى NULL. بعد هذه الاستدعاء، يمكن إضافة متغيرات جديدة إلى البيئة باستخدام putenv(3) وsetenv(3).

قيمة الإرجاع
الدالة clearenv() تُرجع صفرًا عند النجاح، وقيمة غير صفرية عند الفشل.

السمات
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
الواجهة | السمة | القيمة
clearenv() | سلامة الخيوط | MT-Unsafe const:env

المعايير

putenv()
    POSIX.1-2008.

clearenv()
    لا شيء.

التاريخ

putenv()
    glibc 2.0. POSIX.1-2001.

clearenv()
    glibc 2.0.

متغيرات UNIX مختلفة (DG/UX, HP-UX, QNX, ...). POSIX.9 (روابط لـ FORTRAN77). لم يقبل POSIX.1-1996 clearenv() وputenv(3)، لكنه غير رأيه وجدول هذه الدوال لإصدار لاحق من هذا المعيار (انظر §B.4.6.1). ومع ذلك، يضيف POSIX.1-2001 فقط putenv(3)، ورفض clearenv().

ملاحظات
على الأنظمة حيث clearenv() غير متوفرة، التعيين

    environ = NULL;

سيفي بالغرض غالبًا.

الدالة clearenv() قد تكون مفيدة في التطبيقات الواعية بالأمان التي تريد التحكم بدقة في البيئة التي تُمرر إلى البرامج المنفذة باستخدام exec(3). ستفعل التطبيق ذلك بمسح البيئة أولاً ثم إضافة متغيرات بيئة محددة.

لاحظ أن التأثير الرئيسي لـ clearenv() هو ضبط قيمة المؤشر environ(7)؛ هذه الدالة لا تمسح محتويات المخازن المؤقتة التي تحتوي على تعريفات البيئة.

صفحات الدليل لـ DG/UX وTru64 تكتب: إذا عُدل environ بأي شيء غير دوال putenv(3) أو getenv(3) أو clearenv()، فإن clearenv() سترجع خطأ وستبقى بيئة العملية دون تغيير.

انظر أيضًا
getenv(3), putenv(3), setenv(3), unsetenv(3), environ(7)

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.