/* {{{ mysql_local_infile_read */
static
int mysql_local_infile_read(void *ptr, char * buf, unsigned int buf_len)
{
  MYSQL_INFILE_INFO *info = (MYSQL_INFILE_INFO *)ptr;
  size_t count;

  count= ma_read((void *)buf, 1, (size_t)buf_len, info->fp);

  if (count == (size_t)-1)
  {
    info->error_no = errno;
    snprintf((char *)info->error_msg, sizeof(info->error_msg), 
              CER(CR_FILE_READ), info->filename, info->error_no);
  }
  return((int)count);
}
/* {{{ mysql_local_infile_init */
static
int mysql_local_infile_init(void **ptr, const char *filename, void *userdata)
{
  MYSQL_INFILE_INFO *info;
  MYSQL *mysql= (MYSQL *)userdata;

  info = (MYSQL_INFILE_INFO *)malloc(sizeof(MYSQL_INFILE_INFO));
  if (!info) {
    return(1);
  }
  memset(info, 0, sizeof(MYSQL_INFILE_INFO));
  *ptr = info;

  info->filename = filename;

  info->fp= ma_open(filename, "rb", mysql);

  if (!info->fp)
  {
    /* error handling is done via mysql_local_infile_error function, so we
       need to copy error to info */
    if (mysql_errno(mysql) && !info->error_no)
    {
      info->error_no= mysql_errno(mysql);
      ma_strmake(info->error_msg, mysql_error(mysql), MYSQL_ERRMSG_SIZE);
    }
    else
    {
      info->error_no = errno;
      snprintf((char *)info->error_msg, sizeof(info->error_msg), 
                  CER(CR_FILE_NOT_FOUND), filename, info->error_no);
    }
    return(1);
  }

  return(0);
}
示例#3
0
/* expand-match-case */
	BGL_EXPORTED_DEF obj_t BGl_expandzd2matchzd2casez00zz__match_expandz00(obj_t
		BgL_expz00_5)
	{
		AN_OBJECT;
		{	/* Match/mexpand.scm 123 */
			{	/* Match/mexpand.scm 124 */
				obj_t BgL_arg1973z00_891;

				obj_t BgL_arg1974z00_892;

				{	/* Match/mexpand.scm 124 */
					obj_t BgL_arg1977z00_895;

					{	/* Match/mexpand.scm 124 */
						obj_t BgL_arg1979z00_896;

						{	/* Match/mexpand.scm 124 */
							obj_t BgL_arg1980z00_897;

							obj_t BgL_arg1981z00_898;

							BgL_arg1980z00_897 = BGl_symbol2324z00zz__match_expandz00;
							{	/* Match/mexpand.scm 124 */
								obj_t BgL_pairz00_1462;

								BgL_pairz00_1462 = BgL_expz00_5;
								BgL_arg1981z00_898 = CDR(CDR(BgL_pairz00_1462));
							}
							BgL_arg1979z00_896 =
								MAKE_PAIR(BgL_arg1980z00_897, BgL_arg1981z00_898);
						}
						if (EXTENDED_PAIRP(BgL_expz00_5))
							{	/* Match/mexpand.scm 124 */
								obj_t BgL_arg1970z00_1469;

								obj_t BgL_arg1971z00_1470;

								obj_t BgL_arg1972z00_1471;

								BgL_arg1970z00_1469 = CAR(BgL_arg1979z00_896);
								BgL_arg1971z00_1470 = CDR(BgL_arg1979z00_896);
								BgL_arg1972z00_1471 = CER(BgL_expz00_5);
								{	/* Match/mexpand.scm 124 */
									obj_t BgL_res2294z00_1479;

									BgL_res2294z00_1479 =
										MAKE_EXTENDED_PAIR(BgL_arg1970z00_1469, BgL_arg1971z00_1470,
										BgL_arg1972z00_1471);
									BgL_arg1977z00_895 = BgL_res2294z00_1479;
								}
							}
						else
							{	/* Match/mexpand.scm 124 */
								BgL_arg1977z00_895 = BgL_arg1979z00_896;
							}
					}
					BgL_arg1973z00_891 =
						BGl_expandzd2matchzd2lambdaz00zz__match_expandz00
						(BgL_arg1977z00_895);
				}
				{	/* Match/mexpand.scm 125 */
					obj_t BgL_pairz00_1480;

					BgL_pairz00_1480 = BgL_expz00_5;
					BgL_arg1974z00_892 = CAR(CDR(BgL_pairz00_1480));
				}
				{	/* Match/mexpand.scm 124 */
					obj_t BgL_list1975z00_893;

					{	/* Match/mexpand.scm 124 */
						obj_t BgL_arg1976z00_894;

						BgL_arg1976z00_894 = MAKE_PAIR(BgL_arg1974z00_892, BNIL);
						BgL_list1975z00_893 =
							MAKE_PAIR(BgL_arg1973z00_891, BgL_arg1976z00_894);
					}
					return BgL_list1975z00_893;
				}
			}
		}
	}
示例#4
0
/* expand-error */
	obj_t BGl_expandzd2errorzd2zz__expander_recordz00(bool_t BgL_pz00_7,
		obj_t BgL_mz00_8, obj_t BgL_xz00_9)
	{
		AN_OBJECT;
		{	/* Eval/expdrecord.scm 122 */
			{	/* Eval/expdrecord.scm 123 */
				obj_t BgL_locz00_989;

				if (EXTENDED_PAIRP(BgL_xz00_9))
					{	/* Eval/expdrecord.scm 123 */
						BgL_locz00_989 = CER(BgL_xz00_9);
					}
				else
					{	/* Eval/expdrecord.scm 123 */
						BgL_locz00_989 = BFALSE;
					}
				{	/* Eval/expdrecord.scm 124 */
					bool_t BgL_testz00_1947;

					if (PAIRP(BgL_locz00_989))
						{	/* Eval/expdrecord.scm 124 */
							bool_t BgL_testz00_1950;

							{	/* Eval/expdrecord.scm 124 */
								obj_t BgL_auxz00_1951;

								BgL_auxz00_1951 = CDR(BgL_locz00_989);
								BgL_testz00_1950 = PAIRP(BgL_auxz00_1951);
							}
							if (BgL_testz00_1950)
								{	/* Eval/expdrecord.scm 124 */
									obj_t BgL_auxz00_1954;

									BgL_auxz00_1954 = CDR(CDR(BgL_locz00_989));
									BgL_testz00_1947 = PAIRP(BgL_auxz00_1954);
								}
							else
								{	/* Eval/expdrecord.scm 124 */
									BgL_testz00_1947 = ((bool_t) 0);
								}
						}
					else
						{	/* Eval/expdrecord.scm 124 */
							BgL_testz00_1947 = ((bool_t) 0);
						}
					if (BgL_testz00_1947)
						{	/* Eval/expdrecord.scm 124 */
							return
								BGl_errorzf2locationzf2zz__errorz00(BBOOL(BgL_pz00_7),
								BgL_mz00_8, BgL_xz00_9, CAR(CDR(BgL_locz00_989)),
								CAR(CDR(CDR(BgL_locz00_989))));
						}
					else
						{	/* Eval/expdrecord.scm 124 */
							return
								BGl_errorz00zz__errorz00(BBOOL(BgL_pz00_7), BgL_mz00_8,
								BgL_xz00_9);
						}
				}
			}
		}
	}