示例#1
0
int free_x11display(x11display_t * x11disp)
{
   int err;

   if (x11disp->idmap) {
      memblock_t mblock = memblock_INIT(sizeof(x11windowmap_t), (uint8_t*)x11disp->idmap);
      err = FREE_MM(&mblock);

      if (  x11disp->sys_display
            && XCloseDisplay(x11disp->sys_display)) {
         err = ECOMM;
         TRACESYSCALL_ERRLOG("XCloseDisplay", err);
      }

      x11disp->idmap = 0;
      x11disp->sys_display = 0;

      if (err) goto ONERR;
   }

   return 0 ;
ONERR:
   TRACEEXITFREE_ERRLOG(err);
   return err;
}
示例#2
0
int delete_syslogininfo(syslogin_info_t** info)
{
   int err;
   syslogin_info_t* delobj = *info;

   if (delobj) {
      *info = 0;

      memblock_t mblock = memblock_INIT(delobj->size, (uint8_t*)delobj);
      err = FREE_MM(&mblock);

      if (err) goto ONERR;
   }

   return 0;
ONERR:
   TRACEEXITFREE_ERRLOG(err);
   return err;
}